/*
Theme Name: WE Connect Editorial
Theme URI: https://weconnectmagazine.com/
Author: Built for WE Media
Author URI: https://weconnectmagazine.com/
Description: A premium, animated editorial theme for WE Connect Magazine. Ships with automatic page, menu and demo-content setup, plus ready-made HTML/CSS sections for Elementor.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: weconnect-editorial
Tags: magazine, editorial, news, blog, elementor
*/

/* =====================================================================
   1. TOKENS
   ===================================================================== */
:root{
  --paper:#F1F2EC;
  --paper-2:#E6E8DF;
  --paper-3:#DADDD1;
  --ink:#141E33;
  --ink-2:#1B2742;
  --ink-soft:#4A5570;
  --ink-mute:#79829A;
  --peacock:#0F6C68;
  --peacock-dk:#0A4A47;
  --peacock-lt:#1E948E;
  --marigold:#EFA310;
  --line:rgba(20,30,51,.14);
  --line-2:rgba(20,30,51,.08);
  --line-light:rgba(241,242,236,.18);

  --display:"Bodoni Moda",Georgia,"Times New Roman",serif;
  --sans:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;

  --wrap:1280px;
  --gutter:clamp(18px,4vw,56px);
  --radius:2px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
}

/* =====================================================================
   2. RESET / BASE
   ===================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:17px;line-height:1.65;
  font-weight:400;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
input,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,h5{margin:0 0 .5em;font-family:var(--display);font-weight:600;line-height:1.06;letter-spacing:-.012em}
p{margin:0 0 1.15em}
ul,ol{margin:0 0 1.2em;padding-left:1.1em}
:focus-visible{outline:2px solid var(--peacock);outline-offset:3px}
::selection{background:var(--marigold);color:var(--ink)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

.wce-wrap{max-width:var(--wrap);margin:0 auto;padding-inline:var(--gutter)}
.wce-wide{max-width:1560px;margin:0 auto;padding-inline:var(--gutter)}

/* type scale */
.t-mast{font-family:var(--display);font-size:clamp(3.6rem,13vw,11rem);line-height:.86;letter-spacing:-.04em;font-weight:700}
.t-h1{font-size:clamp(2.5rem,6vw,4.6rem)}
.t-h2{font-size:clamp(2rem,4.2vw,3.4rem)}
.t-h3{font-size:clamp(1.5rem,2.4vw,2.1rem)}
.t-lede{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.6;color:var(--ink-soft);max-width:62ch}
.t-meta{font-family:var(--sans);font-size:.78rem;letter-spacing:.06em;color:var(--ink-mute);font-weight:500}

/* =====================================================================
   3. SHARED PIECES
   ===================================================================== */
.wce-kicker{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--sans);font-size:.75rem;font-weight:600;
  letter-spacing:.14em;color:var(--peacock);
}
.wce-kicker::before{content:"";width:26px;height:1px;background:var(--peacock)}

.wce-tag{
  display:inline-block;padding:.32em .7em;background:var(--peacock);color:#fff;
  font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.08em;
}
.wce-tag--gold{background:var(--marigold);color:var(--ink)}

.wce-btn{
  --bg:var(--ink);--fg:var(--paper);
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.95rem 1.8rem;background:var(--bg);color:var(--fg);
  font-family:var(--sans);font-size:.85rem;font-weight:600;letter-spacing:.05em;
  border-radius:999px;overflow:hidden;isolation:isolate;
  transition:color .35s var(--ease),transform .35s var(--ease);
}
.wce-btn::after{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--peacock);
  transform:translateY(101%);transition:transform .45s var(--ease-out);
}
.wce-btn:hover::after{transform:translateY(0)}
.wce-btn:hover{color:#fff;transform:translateY(-2px)}
.wce-btn--ghost{--bg:transparent;--fg:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.wce-btn--gold{--bg:var(--marigold);--fg:var(--ink)}

.wce-link{
  display:inline-flex;align-items:center;gap:.45rem;font-family:var(--sans);
  font-size:.85rem;font-weight:600;letter-spacing:.03em;color:var(--peacock);
  padding-bottom:2px;background-image:linear-gradient(var(--peacock),var(--peacock));
  background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;
  transition:background-size .4s var(--ease-out);
}
.wce-link:hover{background-size:100% 1px}

/* section head */
.wce-head{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:clamp(28px,4vw,54px)}
.wce-head h2{margin:.35rem 0 0}
.wce-head p{margin:.6rem 0 0;max-width:46ch;color:var(--ink-soft);font-size:1rem}

.wce-sec{padding:clamp(56px,8vw,120px) 0}
.wce-sec--tight{padding:clamp(40px,5vw,72px) 0}
.wce-dark{background:var(--ink);color:var(--paper)}
.wce-dark h2,.wce-dark h3{color:var(--paper)}
.wce-dark .wce-kicker{color:var(--marigold)}
.wce-dark .wce-kicker::before{background:var(--marigold)}
.wce-dark .wce-head p{color:rgba(241,242,236,.66)}

.wce-rule{height:1px;background:var(--line);border:0;margin:0}

/* reveal animation */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal][data-delay="1"]{transition-delay:.09s}
[data-reveal][data-delay="2"]{transition-delay:.18s}
[data-reveal][data-delay="3"]{transition-delay:.27s}
[data-reveal][data-delay="4"]{transition-delay:.36s}

/* =====================================================================
   4. HEADER
   ===================================================================== */
.wce-topbar{
  background:var(--ink);color:rgba(241,242,236,.8);font-size:.76rem;
  letter-spacing:.04em;padding:.55rem 0;
}
.wce-topbar .row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.wce-topbar a{transition:color .3s}
.wce-topbar a:hover{color:var(--marigold)}
.wce-social{display:flex;gap:1.05rem;align-items:center;list-style:none;margin:0;padding:0}
.wce-social svg{width:15px;height:15px;fill:currentColor;display:block}

.wce-header{position:sticky;top:0;z-index:90;background:var(--paper);border-bottom:1px solid var(--line);transition:box-shadow .4s,background .4s}
.wce-header.is-stuck{box-shadow:0 10px 30px -22px rgba(20,30,51,.5)}
.wce-header .bar{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:88px;transition:height .4s var(--ease)}
.wce-header.is-stuck .bar{height:68px}

.wce-logo{display:flex;align-items:center;gap:.7rem;flex-shrink:0}
.wce-logo img{max-height:46px;width:auto;transition:max-height .4s var(--ease)}
.wce-header.is-stuck .wce-logo img{max-height:36px}
.wce-logo-mark{
  font-family:var(--display);font-weight:700;font-size:1.75rem;letter-spacing:-.03em;line-height:1;
  display:flex;align-items:baseline;gap:.3rem;
}
.wce-logo-mark b{color:var(--peacock);font-weight:700}
.wce-logo-mark span{font-family:var(--sans);font-size:.62rem;font-weight:600;letter-spacing:.22em;color:var(--ink-mute);transform:translateY(-.55rem)}

.wce-nav ul{display:flex;align-items:center;gap:1.9rem;list-style:none;margin:0;padding:0}
.wce-nav li{position:relative}
.wce-nav a{
  font-family:var(--sans);font-size:.87rem;font-weight:500;letter-spacing:.01em;
  padding:.5rem 0;display:inline-block;position:relative;
}
.wce-nav > ul > li > a::after{
  content:"";position:absolute;left:0;bottom:.15rem;height:1.5px;width:0;background:var(--peacock);
  transition:width .38s var(--ease-out);
}
.wce-nav > ul > li:hover > a::after,
.wce-nav > ul > li.current-menu-item > a::after{width:100%}
.wce-nav .sub-menu{
  position:absolute;top:calc(100% + 14px);left:-1.1rem;min-width:248px;background:var(--ink);
  padding:.7rem 0;display:block;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .35s var(--ease-out);box-shadow:0 26px 50px -28px rgba(20,30,51,.75);z-index:5;
}
.wce-nav li:hover > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.wce-nav .sub-menu a{display:block;padding:.6rem 1.35rem;color:rgba(241,242,236,.82);font-size:.84rem}
.wce-nav .sub-menu a:hover{color:var(--marigold);background:rgba(255,255,255,.04)}
.wce-nav .sub-menu .sub-menu{top:0;left:100%}

.wce-actions{display:flex;align-items:center;gap:.85rem}
.wce-icon-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);transition:.3s}
.wce-icon-btn:hover{background:var(--ink);color:var(--paper);box-shadow:none}
.wce-icon-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
.wce-burger{display:none}
.wce-burger span{display:block;width:22px;height:1.6px;background:currentColor;margin:4px 0;transition:.35s var(--ease)}
.wce-header .wce-btn{padding:.72rem 1.4rem;font-size:.8rem}

/* mobile drawer */
.wce-drawer{
  position:fixed;inset:0;z-index:120;background:var(--ink);color:var(--paper);
  transform:translateX(100%);transition:transform .6s var(--ease-out);
  display:flex;flex-direction:column;padding:2rem var(--gutter) 3rem;overflow-y:auto;
}
.wce-drawer.is-open{transform:translateX(0)}
.wce-drawer .close{align-self:flex-end;font-size:2rem;line-height:1}
.wce-drawer ul{list-style:none;padding:0;margin:2rem 0 0}
.wce-drawer > nav > ul > li{border-bottom:1px solid var(--line-light)}
.wce-drawer a{display:block;padding:.85rem 0;font-family:var(--display);font-size:1.6rem}
.wce-drawer .sub-menu{margin:0 0 .8rem .9rem}
.wce-drawer .sub-menu a{font-family:var(--sans);font-size:.95rem;padding:.4rem 0;color:rgba(241,242,236,.7)}

/* search overlay */
.wce-search-overlay{position:fixed;inset:0;z-index:130;background:rgba(20,30,51,.97);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.45s var(--ease)}
.wce-search-overlay.is-open{opacity:1;visibility:visible}
.wce-search-overlay form{display:flex;gap:1rem;width:min(760px,88vw);border-bottom:1px solid var(--line-light);padding-bottom:1rem}
.wce-search-overlay input{flex:1;background:none;border:0;color:var(--paper);font-family:var(--display);font-size:clamp(1.6rem,4vw,2.8rem)}
.wce-search-overlay input::placeholder{color:rgba(241,242,236,.35)}
.wce-search-overlay .close{position:absolute;top:2rem;right:2rem;color:var(--paper);font-size:2rem}

/* =====================================================================
   5. HERO
   ===================================================================== */
.wce-hero{position:relative;background:var(--paper);overflow:hidden;padding-top:clamp(28px,4vw,56px)}
.wce-hero__grid{display:grid;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);gap:clamp(24px,3.4vw,56px);align-items:stretch}
.wce-hero__main{position:relative}
.wce-hero__media{
  position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--ink);
  clip-path:inset(0 0 100% 0);animation:wceClip 1.2s .25s var(--ease-out) forwards;
}
@keyframes wceClip{to{clip-path:inset(0 0 0 0)}}
.wce-hero__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.14);animation:wceZoom 2.2s .25s var(--ease-out) forwards}
@keyframes wceZoom{to{transform:scale(1)}}
.wce-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(190deg,rgba(20,30,51,0) 34%,rgba(20,30,51,.86) 100%)}
.wce-hero__caption{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,3vw,44px);color:var(--paper);z-index:2}
.wce-hero__caption h1{font-size:clamp(2rem,4.4vw,3.9rem);margin:.6rem 0 .5rem;color:#fff;max-width:17ch}
.wce-hero__caption h1 a{background-image:linear-gradient(var(--marigold),var(--marigold));background-size:0 2px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .5s var(--ease-out)}
.wce-hero__caption h1 a:hover{background-size:100% 2px}
.wce-hero__caption p{color:rgba(255,255,255,.76);max-width:54ch;margin:0 0 .9rem;font-size:.98rem}
.wce-hero__by{display:flex;gap:1rem;align-items:center;font-size:.78rem;letter-spacing:.05em;color:rgba(255,255,255,.62)}

.wce-hero__rail{display:flex;flex-direction:column;gap:0;border-top:2px solid var(--ink);padding-top:1rem}
.wce-hero__rail h4{font-family:var(--sans);font-size:.76rem;font-weight:700;letter-spacing:.16em;margin:0 0 1rem;color:var(--ink)}
.wce-rail-item{display:grid;grid-template-columns:76px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line-2);align-items:start}
.wce-rail-item:last-child{border-bottom:0}
.wce-rail-item figure{margin:0;aspect-ratio:1;overflow:hidden;background:var(--paper-2)}
.wce-rail-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease-out)}
.wce-rail-item:hover img{transform:scale(1.09)}
.wce-rail-item h5{font-family:var(--display);font-size:1.06rem;line-height:1.24;margin:.25rem 0 .3rem;font-weight:600}
.wce-rail-item .m{font-size:.72rem;color:var(--ink-mute);letter-spacing:.05em}
.wce-rail-item .c{font-size:.7rem;font-weight:700;letter-spacing:.09em;color:var(--peacock)}

/* masthead word behind hero */
.wce-hero__word{
  font-family:var(--display);font-weight:700;font-size:clamp(5rem,19vw,17rem);line-height:.8;
  letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(20,30,51,.16);
  margin:clamp(10px,2vw,26px) 0 0;user-select:none;white-space:nowrap;
}

/* ticker */
.wce-ticker{background:var(--ink);color:var(--paper);padding:.85rem 0;overflow:hidden;white-space:nowrap}
.wce-ticker__track{display:inline-flex;gap:3rem;animation:wceMarquee 46s linear infinite;will-change:transform}
.wce-ticker:hover .wce-ticker__track{animation-play-state:paused}
@keyframes wceMarquee{to{transform:translateX(-50%)}}
.wce-ticker__item{display:inline-flex;align-items:center;gap:.8rem;font-size:.84rem;letter-spacing:.03em}
.wce-ticker__item i{width:5px;height:5px;background:var(--marigold);border-radius:50%;display:inline-block}
.wce-ticker__item:hover{color:var(--marigold)}

/* =====================================================================
   6. CARDS
   ===================================================================== */
.wce-card{display:flex;flex-direction:column;height:100%}
.wce-card figure{margin:0 0 1rem;position:relative;overflow:hidden;background:var(--paper-2);aspect-ratio:4/3}
.wce-card figure img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.wce-card:hover figure img{transform:scale(1.06)}
.wce-card figure .wce-tag{position:absolute;left:0;top:0}
.wce-card h3{font-size:1.28rem;line-height:1.22;margin:.2rem 0 .45rem}
.wce-card h3 a{background-image:linear-gradient(var(--ink),var(--ink));background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .45s var(--ease-out)}
.wce-card:hover h3 a{background-size:100% 1px}
.wce-card p{font-size:.93rem;color:var(--ink-soft);margin:0 0 .7rem}
.wce-card .wce-cardmeta{margin-top:auto;font-size:.74rem;letter-spacing:.05em;color:var(--ink-mute);display:flex;gap:.8rem;align-items:center}

.wce-grid{display:grid;gap:clamp(22px,2.6vw,38px)}
.wce-grid--3{grid-template-columns:repeat(3,1fr)}
.wce-grid--4{grid-template-columns:repeat(4,1fr)}
.wce-grid--2{grid-template-columns:repeat(2,1fr)}

/* feature split */
.wce-split{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,3vw,52px);align-items:center}

/* =====================================================================
   7. COVER STORIES RAIL (horizontal scroll)
   ===================================================================== */
.wce-covers{display:flex;gap:clamp(18px,2vw,30px);overflow-x:auto;padding-bottom:1.4rem;scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:thin}
.wce-covers::-webkit-scrollbar{height:3px}
.wce-covers::-webkit-scrollbar-thumb{background:var(--peacock)}
.wce-covers::-webkit-scrollbar-track{background:var(--line-2)}
.wce-cover{flex:0 0 clamp(250px,26vw,340px);scroll-snap-align:start}
.wce-cover figure{margin:0 0 1rem;aspect-ratio:3/4;overflow:hidden;background:var(--ink);position:relative}
.wce-cover figure img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out),filter .6s}
.wce-cover:hover figure img{transform:scale(1.07)}
.wce-cover figure::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,rgba(20,30,51,0) 45%,rgba(20,30,51,.72));opacity:.85}
.wce-cover figcaption{position:absolute;bottom:0;padding:1.1rem;color:#fff;z-index:2;font-family:var(--display);font-size:1.22rem;line-height:1.2}
.wce-cover .e{font-family:var(--sans);font-size:.7rem;letter-spacing:.12em;color:var(--marigold);display:block;margin-bottom:.4rem;font-weight:600}

/* =====================================================================
   8. VERTICALS INDEX
   ===================================================================== */
.wce-verticals{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-light);border-left:1px solid var(--line-light)}
.wce-vertical{
  position:relative;padding:clamp(22px,2.6vw,34px);border-right:1px solid var(--line-light);
  border-bottom:1px solid var(--line-light);overflow:hidden;isolation:isolate;min-height:168px;
  display:flex;flex-direction:column;justify-content:space-between;
}
.wce-vertical::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--peacock-dk);transform:translateY(100%);transition:transform .5s var(--ease-out)}
.wce-vertical:hover::before{transform:translateY(0)}
.wce-vertical .n{font-family:var(--sans);font-size:.72rem;letter-spacing:.1em;color:rgba(241,242,236,.5)}
.wce-vertical h3{font-size:1.45rem;margin:.9rem 0 .3rem}
.wce-vertical p{font-size:.85rem;color:rgba(241,242,236,.62);margin:0}
.wce-vertical .arrow{margin-top:1.2rem;font-size:1.1rem;opacity:.45;transform:translateX(-6px);transition:.45s var(--ease-out)}
.wce-vertical:hover .arrow{opacity:1;transform:translateX(0);color:var(--marigold)}

/* =====================================================================
   9. STATS
   ===================================================================== */
.wce-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px,2vw,34px)}
.wce-stat{border-top:2px solid var(--peacock);padding-top:1.1rem}
.wce-stat b{display:block;font-family:var(--display);font-size:clamp(2.4rem,4.6vw,3.6rem);line-height:1;font-weight:700}
.wce-stat span{font-size:.84rem;color:var(--ink-soft);letter-spacing:.03em}
.wce-dark .wce-stat span{color:rgba(241,242,236,.66)}

/* =====================================================================
   10. FILTER TABS
   ===================================================================== */
.wce-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2.2rem}
.wce-tab{
  padding:.5rem 1.05rem;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);
  font-size:.81rem;font-weight:500;transition:.32s var(--ease);
}
.wce-tab:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.wce-tab.is-active{background:var(--ink);color:var(--paper);box-shadow:none}
.wce-filterable{transition:opacity .35s}
.wce-filterable.is-hidden{display:none}

/* =====================================================================
   11. QUOTE FEATURE
   ===================================================================== */
.wce-quote{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(24px,4vw,68px);align-items:center}
.wce-quote figure{margin:0;aspect-ratio:3/4;overflow:hidden}
.wce-quote figure img{width:100%;height:100%;object-fit:cover}
.wce-quote blockquote{margin:0;font-family:var(--display);font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.26;font-weight:500}
.wce-quote blockquote::before{content:"\201C";display:block;font-size:4rem;line-height:.6;color:var(--marigold);margin-bottom:.3rem}
.wce-quote cite{display:block;margin-top:1.6rem;font-style:normal;font-family:var(--sans);font-size:.86rem;letter-spacing:.05em;color:rgba(241,242,236,.7)}

/* =====================================================================
   12. EDITIONS
   ===================================================================== */
.wce-editions{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(16px,2vw,28px)}
.wce-edition figure{margin:0 0 .85rem;aspect-ratio:3/4;overflow:hidden;background:var(--paper-2);box-shadow:0 20px 40px -30px rgba(20,30,51,.8);transition:transform .55s var(--ease-out),box-shadow .55s}
.wce-edition:hover figure{transform:translateY(-8px) rotate(-1.2deg);box-shadow:0 34px 54px -30px rgba(20,30,51,.75)}
.wce-edition figure img{width:100%;height:100%;object-fit:cover}
.wce-edition h4{font-size:1.02rem;margin:0 0 .15rem}
.wce-edition span{font-size:.75rem;color:var(--ink-mute)}

/* =====================================================================
   13. NEWSLETTER / CTA BAND
   ===================================================================== */
.wce-band{position:relative;background:var(--ink);color:var(--paper);overflow:hidden}
.wce-band::before{
  content:"";position:absolute;width:640px;height:640px;border-radius:50%;
  background:radial-gradient(circle,rgba(15,108,104,.55),transparent 66%);
  top:-40%;right:-8%;filter:blur(8px);
}
.wce-band::after{
  content:"";position:absolute;width:520px;height:520px;border-radius:50%;
  background:radial-gradient(circle,rgba(239,163,16,.3),transparent 68%);
  bottom:-46%;left:-6%;
}
.wce-band .inner{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(26px,4vw,62px);align-items:center}
.wce-form{display:flex;gap:.6rem;flex-wrap:wrap}
.wce-form input[type=email],.wce-form input[type=text]{
  flex:1;min-width:220px;background:rgba(255,255,255,.06);border:1px solid var(--line-light);
  padding:1rem 1.2rem;color:var(--paper);border-radius:999px;
}
.wce-form input::placeholder{color:rgba(241,242,236,.45)}
.wce-form .wce-btn{--bg:var(--marigold);--fg:var(--ink)}
.wce-band small{display:block;margin-top:.9rem;font-size:.76rem;color:rgba(241,242,236,.5)}

/* =====================================================================
   14. FOOTER
   ===================================================================== */
.wce-footer{background:var(--ink);color:rgba(241,242,236,.72);padding-top:clamp(50px,6vw,86px)}
.wce-footer h4{font-family:var(--sans);font-size:.78rem;letter-spacing:.16em;font-weight:700;color:var(--paper);margin:0 0 1.2rem}
.wce-footer__grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:clamp(24px,3vw,52px);padding-bottom:clamp(36px,4vw,64px)}
.wce-footer ul{list-style:none;padding:0;margin:0}
.wce-footer li{margin-bottom:.6rem;font-size:.9rem}
.wce-footer a:hover{color:var(--marigold)}
.wce-footer .mark{font-family:var(--display);font-size:2.2rem;font-weight:700;color:var(--paper);letter-spacing:-.03em;margin-bottom:.9rem;display:block}
.wce-footer p{font-size:.9rem;max-width:40ch}
.wce-footer__bottom{border-top:1px solid var(--line-light);padding:1.4rem 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:rgba(241,242,236,.5)}
.wce-contactline{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.85rem;font-size:.88rem}
.wce-contactline svg{width:16px;height:16px;flex-shrink:0;margin-top:.22rem;stroke:var(--marigold);fill:none;stroke-width:1.6}

.wce-totop{position:fixed;right:22px;bottom:22px;z-index:80;width:46px;height:46px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(12px);transition:.4s var(--ease)}
.wce-totop.is-on{opacity:1;visibility:visible;transform:none}
.wce-totop:hover{background:var(--peacock)}

/* reading progress */
.wce-progress{position:fixed;top:0;left:0;height:3px;background:var(--marigold);width:0;z-index:200;transition:width .12s linear}

/* =====================================================================
   15. ARTICLE / PAGES
   ===================================================================== */
.wce-crumbs{font-size:.78rem;color:var(--ink-mute);letter-spacing:.04em;padding:1.3rem 0}
.wce-crumbs a:hover{color:var(--peacock)}

.wce-pagehero{padding:clamp(34px,5vw,70px) 0 clamp(26px,3vw,46px);border-bottom:1px solid var(--line)}
.wce-pagehero h1{margin:.6rem 0 .5rem}

.wce-article{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:clamp(30px,4vw,72px);padding:clamp(34px,5vw,70px) 0}
.wce-article__body{max-width:70ch;font-size:1.06rem;line-height:1.78}
.wce-article__body h2{font-size:1.9rem;margin:2.2rem 0 .8rem}
.wce-article__body h3{font-size:1.45rem;margin:1.8rem 0 .7rem}
.wce-article__body img{margin:1.8rem 0}
.wce-article__body blockquote{
  margin:2rem 0;padding:.4rem 0 .4rem 1.6rem;border-left:3px solid var(--marigold);
  font-family:var(--display);font-size:1.35rem;line-height:1.4;color:var(--ink);
}
.wce-article__body a{color:var(--peacock);text-decoration:underline;text-underline-offset:3px}
.wce-figure{margin:0 0 2rem;overflow:hidden}
.wce-figure img{width:100%}

.wce-sidebar .widget{margin-bottom:2.4rem;padding-bottom:2rem;border-bottom:1px solid var(--line-2)}
.wce-sidebar .widget-title,.wce-sidebar h4{font-family:var(--sans);font-size:.76rem;letter-spacing:.15em;font-weight:700;margin:0 0 1.1rem}
.wce-sidebar ul{list-style:none;padding:0;margin:0}
.wce-sidebar li{margin-bottom:.6rem;font-size:.92rem}
.wce-sidebar li a:hover{color:var(--peacock)}
.wce-sticky{position:sticky;top:110px}

.wce-authorbox{display:flex;gap:1.2rem;align-items:center;padding:1.6rem;background:var(--paper-2);margin:2.6rem 0}
.wce-authorbox img{width:64px;height:64px;border-radius:50%;object-fit:cover}

.wce-share{display:flex;gap:.6rem;align-items:center;margin:2rem 0}
.wce-share a{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);transition:.3s}
.wce-share a:hover{background:var(--ink);color:var(--paper)}
.wce-share svg{width:15px;height:15px;fill:currentColor}

.wce-pagination{display:flex;gap:.5rem;justify-content:center;padding:2.5rem 0;flex-wrap:wrap}
.wce-pagination .page-numbers{padding:.6rem 1rem;box-shadow:inset 0 0 0 1px var(--line);font-size:.85rem;transition:.3s}
.wce-pagination .current,.wce-pagination .page-numbers:hover{background:var(--ink);color:var(--paper);box-shadow:none}

/* contact */
.wce-contactgrid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(28px,4vw,64px)}
.wce-field{margin-bottom:1.1rem}
.wce-field label{display:block;font-size:.78rem;letter-spacing:.08em;font-weight:600;margin-bottom:.45rem}
.wce-field input,.wce-field textarea,.wce-field select{
  width:100%;padding:.9rem 1.1rem;background:var(--paper-2);border:1px solid transparent;
  transition:.3s;
}
.wce-field input:focus,.wce-field textarea:focus{border-color:var(--peacock);background:#fff;outline:none}
.wce-map{aspect-ratio:16/10;background:var(--paper-2);overflow:hidden}
.wce-map iframe{width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.05);transition:filter .5s}
.wce-map:hover iframe{filter:none}

/* plans */
.wce-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.4vw,34px)}
.wce-plan{padding:clamp(24px,2.6vw,38px);background:#fff;box-shadow:inset 0 0 0 1px var(--line);display:flex;flex-direction:column;transition:.45s var(--ease-out)}
.wce-plan:hover{transform:translateY(-6px);box-shadow:0 30px 50px -34px rgba(20,30,51,.6)}
.wce-plan--best{background:var(--ink);color:var(--paper);box-shadow:none}
.wce-plan--best h3{color:var(--paper)}
.wce-plan .price{font-family:var(--display);font-size:3rem;font-weight:700;line-height:1;margin:.6rem 0 .2rem}
.wce-plan ul{list-style:none;padding:0;margin:1.4rem 0 1.8rem}
.wce-plan li{padding:.5rem 0;border-bottom:1px solid var(--line-2);font-size:.9rem}
.wce-plan--best li{border-color:var(--line-light)}
.wce-plan .wce-btn{margin-top:auto;width:100%}

/* preloader */
.wce-preload{position:fixed;inset:0;z-index:999;background:var(--ink);display:grid;place-items:center;transition:opacity .7s var(--ease),visibility .7s}
.wce-preload.is-done{opacity:0;visibility:hidden}
.wce-preload .m{font-family:var(--display);font-size:clamp(3rem,10vw,7rem);font-weight:700;color:var(--paper);letter-spacing:-.04em;overflow:hidden;display:flex}
.wce-preload .m span{display:inline-block;transform:translateY(105%);animation:wceUp .9s var(--ease-out) forwards}
@keyframes wceUp{to{transform:translateY(0)}}

/* =====================================================================
   16. RESPONSIVE
   ===================================================================== */
@media (max-width:1180px){
  .wce-grid--4{grid-template-columns:repeat(3,1fr)}
  .wce-verticals{grid-template-columns:repeat(3,1fr)}
  .wce-editions{grid-template-columns:repeat(4,1fr)}
  .wce-footer__grid{grid-template-columns:1.4fr 1fr 1.2fr}
}
@media (max-width:1024px){
  .wce-nav,.wce-header .wce-btn{display:none}
  .wce-burger{display:block}
  .wce-hero__grid{grid-template-columns:1fr}
  .wce-article{grid-template-columns:1fr}
  .wce-quote{grid-template-columns:1fr}
  .wce-quote figure{aspect-ratio:16/10}
  .wce-band .inner{grid-template-columns:1fr}
  .wce-contactgrid{grid-template-columns:1fr}
  .wce-split{grid-template-columns:1fr}
  .wce-plans{grid-template-columns:1fr}
}
@media (max-width:820px){
  body{font-size:16px}
  .wce-grid--3,.wce-grid--4{grid-template-columns:repeat(2,1fr)}
  .wce-stats{grid-template-columns:repeat(2,1fr)}
  .wce-verticals{grid-template-columns:repeat(2,1fr)}
  .wce-editions{grid-template-columns:repeat(3,1fr)}
  .wce-footer__grid{grid-template-columns:1fr 1fr}
  .wce-topbar .row > *:first-child{display:none}
}
@media (max-width:560px){
  .wce-grid--3,.wce-grid--4,.wce-grid--2{grid-template-columns:1fr}
  .wce-editions{grid-template-columns:repeat(2,1fr)}
  .wce-verticals{grid-template-columns:1fr}
  .wce-footer__grid{grid-template-columns:1fr}
  .wce-hero__word{font-size:22vw}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
  .wce-hero__media{clip-path:none}
}

/* WP core alignment classes */
.alignleft{float:left;margin:.4rem 1.6rem 1rem 0}
.alignright{float:right;margin:.4rem 0 1rem 1.6rem}
.aligncenter{margin-inline:auto}
.wp-caption-text{font-size:.8rem;color:var(--ink-mute);margin-top:.5rem}
.sticky,.gallery-caption,.bypostauthor{display:block}
