/* =====================================================
   EDITCRAFT — theme styles
   Colour system: Ali Abdaal-inspired cream / ink / pastels
   Type: Fraunces (display serif) + Archivo (grotesque)
   ===================================================== */

@font-face{font-family:'Fraunces';font-style:normal;font-weight:300 900;font-display:swap;src:url('../fonts/fraunces.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:300 900;font-display:swap;src:url('../fonts/fraunces-italic.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/archivo.woff2') format('woff2')}

:root{
  --ec-cream:#F9F6F3;
  --ec-cream-2:#F1EBE4;
  --ec-ink:#1E1D2C;
  --ec-ink-2:#1B1624;
  --ec-sky:#5DCDF1;
  --ec-sunshine:#FDD46B;
  --ec-coral:#FD976D;
  --ec-lilac:#C9B1FB;
  --ec-mint:#8FDDB4;
  --ec-blue:#1863DC;
  --ec-muted:#6B6879;
  --ec-line:rgba(30,29,44,.12);
  --ec-r-lg:28px;
  --ec-r-md:18px;
  --ec-ease:cubic-bezier(.22,1,.36,1);
}

html{scroll-behavior:smooth}
body{overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--ec-sunshine);color:var(--ec-ink)}
h1,h2,h3,h4{text-wrap:balance}
:focus-visible{outline:3px solid var(--ec-blue);outline-offset:3px;border-radius:4px}

/* ---------- Eyebrow label ---------- */
.ec-eyebrow{
  font-size:.78rem !important;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ec-muted);display:inline-flex;align-items:center;gap:.6em;
}
.ec-eyebrow::before{content:"";width:26px;height:2px;background:var(--ec-coral);border-radius:2px}
.ec-center .ec-eyebrow{justify-content:center}

/* ---------- Buttons ---------- */
.wp-block-button__link{
  padding:1em 1.9em;border-radius:999px;font-weight:600;
  position:relative;overflow:hidden;isolation:isolate;
  transition:transform .35s var(--ec-ease),box-shadow .35s var(--ec-ease),color .35s,background .35s;
  will-change:transform;
}
.wp-block-button__link:hover{box-shadow:0 14px 34px -12px rgba(30,29,44,.5)}
.is-style-outline .wp-block-button__link{border:1.5px solid currentColor}
.ec-btn-light .wp-block-button__link{background:var(--ec-sunshine);color:var(--ec-ink)}
.ec-btn-light .wp-block-button__link:hover{background:var(--ec-coral)}

/* ---------- Reveal / stagger / split (JS adds .in) ---------- */
.ec-reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ec-ease),transform .9s var(--ec-ease)}
.ec-reveal.in{opacity:1;transform:none}
.ec-stagger>*{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ec-ease),transform .8s var(--ec-ease)}
.ec-stagger.in>*{opacity:1;transform:none}
.ec-split .w{display:inline-block;overflow:hidden;vertical-align:bottom}
.ec-split .w>span{display:inline-block;transform:translateY(115%);transition:transform 1s var(--ec-ease)}
.ec-split.in .w>span{transform:none}

/* ---------- Custom cursor / progress (injected by JS) ---------- */
#ec-cursor,#ec-cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:190;border-radius:50%}
#ec-cursor{width:8px;height:8px;background:var(--ec-ink);transform:translate(-50%,-50%)}
#ec-cursor-ring{width:38px;height:38px;border:1.5px solid rgba(30,29,44,.35);transform:translate(-50%,-50%);
  transition:width .3s var(--ec-ease),height .3s var(--ec-ease),background .3s,border-color .3s}
#ec-cursor-ring.grow{width:64px;height:64px;background:rgba(93,205,241,.18);border-color:transparent}
.on-dark #ec-cursor{background:var(--ec-cream)}
.on-dark #ec-cursor-ring{border-color:rgba(249,246,243,.4)}
@media (hover:none),(prefers-reduced-motion:reduce){#ec-cursor,#ec-cursor-ring{display:none}}
#ec-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--ec-sky),var(--ec-blue));z-index:120}

/* ---------- Header ---------- */
.ec-header{
  position:sticky;top:0;z-index:110;
  background:rgba(249,246,243,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--ec-line);
  transition:transform .5s var(--ec-ease);
}
.ec-header.hide{transform:translateY(-100%)}
.ec-header .wp-block-site-title a{
  font-family:'Fraunces',Georgia,serif;font-size:1.45rem;font-weight:600;
  letter-spacing:-.02em;text-decoration:none;position:relative;display:inline-block;
}
.ec-header .wp-block-site-title a::after{
  content:"";position:absolute;left:-4%;bottom:-7px;width:108%;height:9px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10' preserveAspectRatio='none'%3E%3Cpath d='M2 8 C 28 1, 72 1, 98 6' fill='none' stroke='%235DCDF1' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;
}
.ec-header .wp-block-navigation a{position:relative;padding-block:.3em;text-decoration:none;font-size:.92rem;font-weight:500}
.ec-header .wp-block-navigation a::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;
  background:var(--ec-coral);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ec-ease);
}
.ec-header .wp-block-navigation a:hover::after{transform:scaleX(1);transform-origin:left}

/* ---------- Hero ---------- */
.ec-hero{position:relative;overflow:hidden;min-height:92svh;display:flex;align-items:center}
.ec-hero>.ec-orbs{position:absolute;inset:0;z-index:0;pointer-events:none}
.ec-hero>*{position:relative;z-index:1}
.ec-hero .ec-hero-title{max-width:14ch}
.ec-hero .ec-hero-title em{color:var(--ec-blue)}
.ec-hero-sub{color:var(--ec-muted);max-width:52ch}
.ec-pill{
  display:inline-flex;align-items:center;gap:.8em;background:#fff;border:1px solid var(--ec-line);
  border-radius:999px;padding:.55em 1.2em;font-size:.85rem;font-weight:600;
  box-shadow:0 8px 24px -12px rgba(30,29,44,.18);
}
.ec-pill .dot{width:9px;height:9px;border-radius:50%;background:var(--ec-coral);animation:ec-pulse 1.6s infinite}
@keyframes ec-pulse{0%,100%{box-shadow:0 0 0 0 rgba(253,151,109,.55)}60%{box-shadow:0 0 0 9px rgba(253,151,109,0)}}
.ec-pill strong{font-variant-numeric:tabular-nums;color:var(--ec-blue)}
.ec-stat .num{font-family:'Fraunces',serif;font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums}
.ec-stat .num i{font-style:normal;color:var(--ec-blue)}
.ec-stat .lbl{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ec-muted);font-weight:600}

/* ---------- Marquee ---------- */
.ec-marquee{
  background:var(--ec-ink-2);color:var(--ec-cream);overflow:hidden;padding:1.15rem 0;
  transform:rotate(-1.2deg) scale(1.02);margin-block:2rem;
}
.ec-marquee .ec-marquee-track{display:flex;gap:3rem;width:max-content;animation:ec-scrollx 28s linear infinite;margin:0}
.ec-marquee:hover .ec-marquee-track{animation-play-state:paused}
.ec-marquee-track span{font-family:'Fraunces',serif;font-size:1.35rem;font-style:italic;white-space:nowrap;display:flex;align-items:center;gap:3rem}
.ec-marquee-track .star{color:var(--ec-sunshine);font-style:normal;font-family:Archivo,sans-serif}
@keyframes ec-scrollx{to{transform:translateX(-50%)}}

/* ---------- Problem statement (scroll word-lighting) ---------- */
.ec-statement{
  font-family:'Fraunces',serif;font-size:clamp(1.9rem,4.6vw,3.6rem);
  line-height:1.22;font-weight:500;max-width:24ch;letter-spacing:-.01em;
}
.ec-statement .pw{color:rgba(30,29,44,.16);transition:color .5s ease}
.ec-statement .pw.lit{color:var(--ec-ink)}
.ec-statement .pw.accent.lit{color:var(--ec-blue);font-style:italic}

/* ---------- Module cards (sticky stack) ---------- */
.ec-mod-card{
  position:sticky;top:6.5rem;background:#fff;border:1px solid var(--ec-line);
  border-radius:var(--ec-r-lg);overflow:hidden;
  box-shadow:0 24px 60px -30px rgba(30,29,44,.25);
}
.ec-mod-card+.ec-mod-card{top:7.5rem}
.ec-mod-card+.ec-mod-card+.ec-mod-card{top:8.5rem}
.ec-mod-card .wp-block-columns{gap:0;min-height:480px}
.ec-mod-body{padding:clamp(1.8rem,4vw,3.4rem) !important;display:flex;flex-direction:column;gap:1.3rem;justify-content:center}
.ec-mod-tag{
  display:inline-flex;align-self:flex-start;align-items:center;gap:.6em;
  font-size:.78rem !important;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  padding:.5em 1.1em;border-radius:999px;margin:0 !important;
}
.ec-mod-desc{color:var(--ec-muted);max-width:46ch}
.ec-mod-list{list-style:none;padding-left:0 !important;display:flex;flex-direction:column;gap:.8rem;margin:0}
.ec-mod-list li{display:flex;gap:.8em;align-items:flex-start;font-weight:500}
.ec-mod-list li::before{
  content:"✓";flex:0 0 22px;height:22px;border-radius:50%;margin-top:.15em;
  display:grid;place-items:center;font-size:.7rem;font-weight:800;color:var(--ec-ink);
}
.ec-mod-visual{
  position:relative;display:flex !important;align-items:center;justify-content:center;
  overflow:hidden;min-height:300px;
}
.ec-mod-visual .ec-big-num{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:clamp(9rem,17vw,16rem);color:rgba(30,29,44,.9);line-height:1;
  user-select:none;margin:0;transition:transform .6s var(--ec-ease);
}
.ec-mod-card:hover .ec-big-num{transform:scale(1.07) rotate(-3deg)}
.m-sky .ec-mod-visual{background:var(--ec-sky)}
.m-sun .ec-mod-visual{background:var(--ec-sunshine)}
.m-coral .ec-mod-visual{background:var(--ec-coral)}
.m-sky .ec-mod-tag{background:rgba(93,205,241,.18);color:#0f6f92}
.m-sun .ec-mod-tag{background:rgba(253,212,107,.25);color:#8a6400}
.m-coral .ec-mod-tag{background:rgba(253,151,109,.2);color:#b1441c}
.m-sky .ec-mod-list li::before{background:var(--ec-sky)}
.m-sun .ec-mod-list li::before{background:var(--ec-sunshine)}
.m-coral .ec-mod-list li::before{background:var(--ec-coral)}
@media(max-width:880px){.ec-mod-card{position:static}.ec-mod-visual{min-height:210px}}

/* ---------- Mentor ---------- */
.ec-mentor{background:var(--ec-cream-2);border-block:1px solid var(--ec-line)}
.ec-mentor-photo{position:relative}
.ec-mentor-photo::before{
  content:"";position:absolute;inset:-8%;background:var(--ec-lilac);
  border-radius:58% 42% 55% 45%/45% 58% 42% 55%;animation:ec-blob 9s ease-in-out infinite alternate;
}
@keyframes ec-blob{
  0%{border-radius:58% 42% 55% 45%/45% 58% 42% 55%;transform:rotate(0)}
  100%{border-radius:45% 55% 42% 58%/58% 45% 55% 42%;transform:rotate(6deg)}
}
.ec-mentor-photo img,.ec-mentor-photo .ec-photo-frame{
  position:relative;border-radius:var(--ec-r-lg);width:100%;
}
.ec-photo-frame{
  aspect-ratio:4/4.6;background:linear-gradient(160deg,var(--ec-ink),var(--ec-ink-2));
  display:flex;align-items:center;justify-content:center;color:var(--ec-cream);
  font-family:'Fraunces',serif;font-style:italic;text-align:center;padding:1rem;opacity:.98;
}
.ec-quote{
  padding:1.4rem 1.6rem !important;background:#fff;border-radius:var(--ec-r-md);
  border-left:4px solid var(--ec-lilac) !important;
  font-family:'Fraunces',serif !important;font-style:italic;font-size:1.12rem;margin:0 !important;
}
.ec-quote p{margin:0}

/* ---------- Testimonials ---------- */
.ec-voices{overflow:hidden}
.ec-trow{display:flex !important;gap:1.5rem;width:max-content !important;padding-block:.5rem;flex-wrap:nowrap !important;max-width:none !important}
.ec-trow.r1{animation:ec-scrollx 46s linear infinite}
.ec-trow.r2{animation:ec-scrollx 46s linear infinite reverse}
.ec-trow:hover{animation-play-state:paused}
.ec-tcard{
  width:380px;flex:0 0 380px;background:#fff;border:1px solid var(--ec-line);
  border-radius:var(--ec-r-md);padding:1.7rem !important;
  display:flex;flex-direction:column;gap:1.1rem;
  transition:transform .4s var(--ec-ease),box-shadow .4s var(--ec-ease);
}
.ec-tcard:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:0 20px 44px -22px rgba(30,29,44,.3)}
.ec-tcard .stars{color:var(--ec-coral);letter-spacing:.15em;font-size:.85rem;margin:0}
.ec-tcard .quote{font-size:.98rem;line-height:1.65;margin:0}
.ec-tcard .who{margin-top:auto;font-size:.9rem;color:var(--ec-muted)}
.ec-tcard .who b{color:var(--ec-ink);display:block;font-size:.95rem}
@media(max-width:640px){.ec-tcard{width:300px;flex-basis:300px}}

/* ---------- Pricing ---------- */
.ec-pricing{
  background:var(--ec-ink-2);color:var(--ec-cream);
  border-radius:clamp(24px,4vw,48px);margin-inline:max(1rem,2vw);
}
.ec-pricing h2{color:var(--ec-cream)}
.ec-pricing .ec-eyebrow{color:rgba(249,246,243,.6)}
.ec-pricing .ec-sub{color:rgba(249,246,243,.65)}
.ec-pcard{
  background:rgba(249,246,243,.05);border:1px solid rgba(249,246,243,.14);
  border-radius:var(--ec-r-md);padding:2rem 1.7rem !important;height:100%;
  display:flex;flex-direction:column;gap:1.2rem;position:relative;
  transition:transform .45s var(--ec-ease),background .45s;
}
.ec-pcard:hover{transform:translateY(-8px);background:rgba(249,246,243,.09)}
.ec-pcard.pop{background:var(--ec-cream);color:var(--ec-ink);border-color:transparent;box-shadow:0 30px 70px -30px rgba(0,0,0,.6)}
.ec-pcard .badge{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  background:var(--ec-coral);color:var(--ec-ink);font-size:.72rem;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;padding:.45em 1.2em;border-radius:999px;white-space:nowrap;margin:0;
}
.ec-pcard .tier{font-family:'Fraunces',serif;font-style:italic;font-size:1.3rem;margin:0}
.ec-pcard .amount{font-family:'Fraunces',serif;font-size:2.4rem;font-weight:600;margin:0;font-variant-numeric:tabular-nums}
.ec-pcard .amount s{font-size:.95rem;opacity:.5;font-weight:400;margin-left:.4em}
.ec-pcard ul{list-style:none;padding-left:0 !important;display:flex;flex-direction:column;gap:.7rem;font-size:.92rem;flex:1;margin:0}
.ec-pcard ul li{display:flex;gap:.7em}
.ec-pcard ul li::before{content:"✓";font-weight:800;color:var(--ec-sky)}
.ec-pcard.pop ul li::before{color:var(--ec-blue)}
.ec-pcard .seats{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;opacity:.6;text-align:center;margin:0}
.ec-guarantee{text-align:center;color:rgba(249,246,243,.75)}
.ec-guarantee b{color:var(--ec-cream)}

/* ---------- FAQ (core Details block) ---------- */
.ec-faq details{
  border-bottom:1px solid var(--ec-line);padding:1.4rem .2rem;
}
.ec-faq summary{
  font-weight:600;font-size:1.08rem;cursor:pointer;list-style:none;
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  transition:color .3s;
}
.ec-faq summary::-webkit-details-marker{display:none}
.ec-faq summary::after{
  content:"+";flex:0 0 34px;height:34px;border-radius:50%;border:1.5px solid var(--ec-ink);
  display:grid;place-items:center;font-size:1.1rem;line-height:1;
  transition:transform .45s var(--ec-ease),background .3s,border-color .3s;
}
.ec-faq summary:hover{color:var(--ec-blue)}
.ec-faq details[open] summary::after{transform:rotate(45deg);background:var(--ec-sunshine);border-color:transparent}
.ec-faq details p{color:var(--ec-muted);max-width:60ch;margin:.9rem 0 0}

/* ---------- Final CTA ---------- */
.ec-join{
  background:var(--ec-ink-2);color:var(--ec-cream);text-align:center;
  position:relative;overflow:hidden;
}
.ec-join::before,.ec-join::after{
  content:"";position:absolute;width:44vw;height:44vw;border-radius:50%;
  filter:blur(90px);opacity:.22;pointer-events:none;
}
.ec-join::before{background:var(--ec-blue);top:-20%;left:-12%}
.ec-join::after{background:var(--ec-coral);bottom:-25%;right:-10%}
.ec-join>*{position:relative;z-index:1}
.ec-join h2{color:var(--ec-cream)}
.ec-join h2 em{color:var(--ec-sunshine)}
.ec-join p{color:rgba(249,246,243,.7)}

/* ---------- Footer ---------- */
.ec-footer{background:var(--ec-ink-2);color:rgba(249,246,243,.6);border-top:1px solid rgba(249,246,243,.1);font-size:.88rem}
.ec-footer a{color:inherit;text-decoration:none}
.ec-footer a:hover{color:var(--ec-cream)}

/* ---------- Carousels: videos + courses ---------- */
.ec-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.2rem;flex-wrap:wrap}
.ec-title2{margin:0}
.ec-title2 .t-top{display:block;font-family:'Archivo',sans-serif;font-weight:700;font-size:clamp(1.35rem,2.6vw,1.9rem);letter-spacing:-.01em;line-height:1.2}
.ec-title2 .t-big{display:block;font-family:'Fraunces',serif;font-size:clamp(2.1rem,4.8vw,3.4rem);font-weight:600;line-height:1.1}
.ec-title2 .squig{position:relative;white-space:nowrap}
.ec-title2 .squig::after{
  content:"";position:absolute;left:0;right:0;bottom:-.1em;height:.24em;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 12' preserveAspectRatio='none'%3E%3Cpath d='M2 8 Q 15 2 28 7 T 54 7 T 80 7 T 99 6' fill='none' stroke='%23FDD46B' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/100% 100%;
}
.ec-car-btns{display:flex;gap:.7rem}
.ec-car-btns button{
  width:46px;height:46px;border-radius:50%;background:var(--ec-sunshine);color:var(--ec-ink);
  border:0;cursor:pointer;display:grid;place-items:center;font-size:1.15rem;
  transition:transform .3s var(--ec-ease),background .3s,opacity .3s;
}
.ec-car-btns button:hover{background:var(--ec-coral);transform:scale(1.1)}
.ec-car-btns button:disabled{opacity:.35;pointer-events:none}
.ec-car-track{
  display:flex !important;flex-wrap:nowrap !important;gap:1.4rem;overflow-x:auto;
  scroll-snap-type:x mandatory;padding:.5rem .2rem 1.6rem;scrollbar-width:none;cursor:grab;
  max-width:none !important;
}
.ec-car-track::-webkit-scrollbar{display:none}
.ec-car-track.dragging{cursor:grabbing;scroll-snap-type:none}
.ec-car-track>*{scroll-snap-align:start;margin:0 !important}

.ec-vcard{
  flex:0 0 300px;background:#fff;border:1px solid var(--ec-line);border-radius:var(--ec-r-md);
  overflow:hidden;transition:transform .4s var(--ec-ease),box-shadow .4s var(--ec-ease);
}
.ec-vcard:hover{transform:translateY(-6px);box-shadow:0 20px 44px -22px rgba(30,29,44,.3)}
.ec-vthumb{aspect-ratio:16/9;display:grid;place-items:center;position:relative;overflow:hidden}
.ec-vthumb img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.ec-vthumb .play{
  width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.92);z-index:1;
  display:grid;place-items:center;transition:transform .35s var(--ec-ease);
  box-shadow:0 8px 20px -8px rgba(30,29,44,.4);
}
.ec-vthumb .play::before{content:"";border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent var(--ec-ink);margin-left:3px}
.ec-vcard:hover .play{transform:scale(1.15)}
.ec-vcard:nth-child(4n+1) .ec-vthumb{background:linear-gradient(135deg,var(--ec-sky),#bfeafb)}
.ec-vcard:nth-child(4n+2) .ec-vthumb{background:linear-gradient(135deg,var(--ec-sunshine),#fee9b0)}
.ec-vcard:nth-child(4n+3) .ec-vthumb{background:linear-gradient(135deg,var(--ec-coral),#fec4ab)}
.ec-vcard:nth-child(4n) .ec-vthumb{background:linear-gradient(135deg,var(--ec-lilac),#e3d6fd)}
.ec-vmeta{padding:1.15rem 1.3rem 1.35rem}
.ec-vmeta .vdate{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ec-muted);margin:0}
.ec-vmeta h3{font-size:1.12rem;margin:.45rem 0 .8rem;line-height:1.3}
.ec-view{
  font-size:.88rem;font-weight:700;display:inline-flex;align-items:center;gap:.4em;
  border-bottom:2px solid var(--ec-sunshine);padding-bottom:.15em;text-decoration:none;
  transition:border-color .3s,gap .3s;
}
.ec-view:hover{border-color:var(--ec-coral);gap:.7em}

.ec-ccard{
  flex:0 0 320px;background:#fff;border:1px solid var(--ec-line);border-radius:var(--ec-r-md);
  overflow:hidden;display:flex;flex-direction:column;padding:0 !important;
  transition:transform .4s var(--ec-ease),box-shadow .4s var(--ec-ease);
}
.ec-ccard:hover{transform:translateY(-6px) rotate(-.4deg);box-shadow:0 20px 44px -22px rgba(30,29,44,.3)}
.ec-cart{
  aspect-ratio:16/10;display:grid;place-items:center;position:relative;overflow:hidden;
  font-family:'Fraunces',serif;font-style:italic;font-size:2.6rem;color:var(--ec-ink);
}
.ec-cart::before,.ec-cart::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.35)}
.ec-cart::before{width:120px;height:120px;top:-40px;right:-30px}
.ec-cart::after{width:70px;height:70px;bottom:-20px;left:-15px}
.ec-cart span{position:relative;z-index:1;transition:transform .4s var(--ec-ease)}
.ec-ccard:hover .ec-cart span{transform:scale(1.1) rotate(-2deg)}
.ec-cart .cbadge{
  position:absolute;top:1rem;left:1rem;z-index:1;font-family:'Archivo',sans-serif;font-style:normal;
  font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  background:rgba(255,255,255,.85);padding:.4em 1em;border-radius:999px;
}
.c-coral .ec-cart{background:var(--ec-coral)}
.c-sky .ec-cart{background:var(--ec-sky)}
.c-sun .ec-cart{background:var(--ec-sunshine)}
.c-mint .ec-cart{background:var(--ec-mint)}
.c-lilac .ec-cart{background:var(--ec-lilac)}
.ec-cbody{padding:1.3rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.7rem;flex:1}
.ec-cbody h3{font-size:1.25rem;margin:0}
.ec-cbody p{font-size:.9rem;color:var(--ec-muted);flex:1;margin:0}
.ec-car-cta{display:flex;justify-content:center;margin-top:1rem}
@media(max-width:640px){.ec-vcard{flex-basis:260px}.ec-ccard{flex-basis:280px}}

/* ---------- Inner pages (page.html / single.html) ---------- */
.ec-page-hero .wp-block-post-title{margin:0}
.ec-page-hero .wp-block-post-title em{color:var(--ec-blue)}
.ec-post-meta{gap:1.2rem;align-items:center}
.ec-post-meta .wp-block-post-date{
  font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ec-muted);
}
.ec-post-meta .wp-block-post-terms{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.ec-post-meta .wp-block-post-terms a{
  background:var(--ec-sunshine);color:var(--ec-ink);text-decoration:none;
  padding:.4em 1em;border-radius:999px;transition:background .3s;
}
.ec-post-meta .wp-block-post-terms a:hover{background:var(--ec-coral)}
.wp-block-post-featured-image img{border-radius:var(--ec-r-lg);width:100%;object-fit:cover}

/* ---------- Article prose ---------- */
.ec-prose .wp-block-post-content>*{margin-block:1.1rem}
.ec-prose .wp-block-post-content h2{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-top:2.6rem}
.ec-prose .wp-block-post-content h3{font-size:clamp(1.3rem,2.2vw,1.6rem);margin-top:2.2rem}
.ec-prose .wp-block-post-content p{line-height:1.75}
.ec-prose .wp-block-post-content a{
  color:var(--ec-blue);text-decoration:underline;text-decoration-color:var(--ec-sky);
  text-decoration-thickness:2px;text-underline-offset:3px;transition:text-decoration-color .3s;
}
.ec-prose .wp-block-post-content a:hover{text-decoration-color:var(--ec-coral)}
.ec-prose .wp-block-post-content img{border-radius:var(--ec-r-md)}
.ec-prose .wp-block-post-content blockquote{
  padding:1.4rem 1.6rem;background:#fff;border-radius:var(--ec-r-md);
  border-left:4px solid var(--ec-lilac);font-family:'Fraunces',serif;font-style:italic;font-size:1.12rem;
}
.ec-prose .wp-block-post-content blockquote p{margin:0}
.ec-prose .wp-block-post-content pre,.ec-prose .wp-block-post-content code{
  background:var(--ec-ink-2);color:var(--ec-cream);border-radius:8px;
}
.ec-prose .wp-block-post-content code{padding:.15em .45em;font-size:.92em}
.ec-prose .wp-block-post-content pre{padding:1.2rem 1.4rem;overflow-x:auto}
.ec-prose .wp-block-post-content pre code{padding:0;background:none}
.ec-post-nav{border-top:1px solid var(--ec-line)}
.ec-post-nav a{text-decoration:none;font-weight:600;max-width:44ch}
.ec-post-nav a:hover{color:var(--ec-blue)}
.ec-post-nav .post-navigation-link-next{text-align:right;margin-left:auto}

/* ---------- Blog listing ---------- */
.ec-blog h1 em{color:var(--ec-blue)}
.ec-blog-grid{gap:1.5rem !important}
.ec-postcard{
  background:#fff;border:1px solid var(--ec-line);border-radius:var(--ec-r-md);
  overflow:hidden;height:100%;display:flex;flex-direction:column;
  transition:transform .4s var(--ec-ease),box-shadow .4s var(--ec-ease);
}
.ec-postcard:hover{transform:translateY(-6px);box-shadow:0 20px 44px -22px rgba(30,29,44,.3)}
.ec-postcard .wp-block-post-featured-image{margin:0}
.ec-postcard .wp-block-post-featured-image img{border-radius:0}
.ec-postcard .wp-block-post-featured-image:empty{display:none}
.ec-postcard-body{padding:1.25rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.ec-postcard-date{font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ec-muted)}
.ec-postcard-title{font-size:1.22rem;line-height:1.3;margin:0}
.ec-postcard-title a{text-decoration:none}
.ec-postcard-title a:hover{color:var(--ec-blue)}
.ec-postcard-excerpt{font-size:.92rem;color:var(--ec-muted)}
.ec-postcard-excerpt .wp-block-post-excerpt__more-link{
  font-size:.88rem;font-weight:700;color:var(--ec-ink);text-decoration:none;
  border-bottom:2px solid var(--ec-sunshine);padding-bottom:.15em;
}
.ec-postcard-excerpt .wp-block-post-excerpt__more-link:hover{border-color:var(--ec-coral)}
.ec-pagination{margin-top:3rem;gap:1.4rem;font-weight:600}
.ec-pagination a{text-decoration:none}
.ec-pagination a:hover{color:var(--ec-blue)}
.ec-pagination .page-numbers.current{
  background:var(--ec-sunshine);border-radius:999px;padding:.25em .75em;
}

/* ---------- 404 ---------- */
.ec-404-num{
  font-family:'Fraunces',serif;font-style:italic;font-weight:400;
  font-size:clamp(6rem,16vw,11rem);line-height:1;margin:0 0 1rem;
  background:linear-gradient(120deg,var(--ec-sky),var(--ec-blue) 45%,var(--ec-coral));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.ec-404 h1 em{color:var(--ec-blue)}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s !important;animation-iteration-count:1 !important;transition-duration:.001s !important}
  html{scroll-behavior:auto}
  .ec-reveal,.ec-stagger>*{opacity:1;transform:none}
  .ec-split .w>span{transform:none}
  .ec-statement .pw{color:var(--ec-ink)}
}
