.wop-page{--bg:#10241B;--bg-alt:;--paper:#e9e4d8;--ink:#e9e4d8;--muted:#9aa08f;--accent:#c98a4b;--line:#2c3327;--radius:16px;--radius-sm:10px;--radius-pill:999px;--shadow:0 20px 50px rgba(0,0,0,.35);font-family:'Inter',sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;}
.wop-page *{box-sizing:border-box;}
.wop-page .wrap{max-width:1100px;margin:0 auto;padding:0 24px;}
.wop-page h1,.wop-page h2,.wop-page h3{font-family:'Fraunces',serif;font-weight:500;line-height:1.08;margin:0;color:var(--paper);letter-spacing:-.01em;}
.wop-page p{margin:0 0 1em;}
.wop-page a{color:var(--accent);}

/* Header */
.wop-page header.wrap{padding:32px 24px 0;}
.wop-page .presented-by{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-weight:700;}
.wop-page .presented-by span{font-style:italic;color:var(--muted);text-transform:none;letter-spacing:0;}
.wop-page .baobab-note{font-size:.8rem;color:var(--muted);max-width:640px;margin-bottom:20px;}
.wop-page .topbar{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:20px;flex-wrap:wrap;gap:8px;}
.wop-page .topbar .brand{font-family:'Fraunces',serif;font-size:1.15rem;color:var(--paper);}
.wop-page .topbar .date{font-size:.82rem;color:var(--muted);letter-spacing:.04em;}

/* Hero — full background image */
.wop-page .hero{
  position:relative;
  padding:88px 24px 72px;
  text-align:left;
  max-width:none;
  width:100%;
  margin:0;
  overflow:hidden;
  isolation:isolate;
}
.wop-page .hero > *{
  max-width:960px;
  margin-left:auto;
  margin-right:auto;
  position:relative;
  z-index:2;
}
/* Hero background carousel (replaces static .hero::before image) */
.wop-page .hero-carousel{
  position:absolute !important;
  inset:0;
  max-width:none !important;
  margin:0 !important;
  z-index:0;
  overflow:hidden;
}
.wop-page .hero-carousel .slide{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center 30%;
  filter:grayscale(.1) contrast(1.05) brightness(1.08);
  opacity:0;
  transition:opacity 1.8s ease;
}
.wop-page .hero-carousel .slide.active{
  opacity:1;
}

/* Hero loading spinner, shown until first slide image is ready */
.wop-page .wop-hero-loader{
  position:absolute !important;
  inset:0;
  max-width:none !important;
  margin:0 !important;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--bg);
  transition:opacity .6s ease, visibility .6s ease;
}
.wop-page .wop-hero-loader.wop-loader-hide{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.wop-page .wop-loader-spinner{
  width:44px;
  height:44px;
  animation:wop-spin 1s linear infinite;
}
.wop-page .wop-loader-spinner circle{
  stroke:#3452ff;
  stroke-linecap:round;
  stroke-dasharray:90;
  stroke-dashoffset:60;
}
@keyframes wop-spin{
  to{ transform:rotate(360deg); }
}
.wop-page .hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(16,20,15,.4) 0%, rgba(16,20,15,.55) 45%, var(--bg) 92%),
    radial-gradient(circle at 15% 20%, rgba(201,138,75,.18) 0%, transparent 40%);
  z-index:1;
}
.wop-page .hero h1{
    opacity:0;
    transform:translateY(28px);
    animation:heroReveal 1.2s ease forwards;
}

@keyframes heroReveal{
    to{
        opacity:1;
        transform:translateY(0);
    }
}
.wop-page .hero p{
    opacity:0;
    transform:translateY(20px);
    animation:heroReveal 1s ease forwards;
    animation-delay:.35s;
}

.wop-page .hero .btn{
    opacity:0;
    transform:translateY(20px);
    animation:heroReveal 1s ease forwards;
    animation-delay:.6s;
}
.wop-page .hero h1{
    background:linear-gradient(
        90deg,
        #f8f5ef 20%,
        #c98a4b 50%,
        #f8f5ef 80%
    );
    background-size:250% auto;

    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;

    animation:
        heroReveal 1.2s ease forwards,
        shimmer 8s linear infinite;
}

@keyframes shimmer{
    from{
        background-position:0%;
    }
    to{
        background-position:250%;
    }
}
.wop-page .eyebrow{display:inline-flex;align-items:center;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;border:1.5px solid rgba(201,138,75,.55);background:rgba(201,138,75,.08);padding:7px 16px;border-radius:var(--radius-pill);font-weight:700;}
.wop-page .hero .eyebrow{color:#ffa900;border-color:rgba(255,169,0,.55);background:rgba(255,169,0,.1);}
.wop-page .edition-note{font-size:.85rem;color:var(--muted);font-style:italic;margin-bottom:18px;}
.wop-page .hero h1{font-size:clamp(3.2rem,8vw,6.2rem);margin-bottom:26px;font-style:italic;letter-spacing:-.02em;}
.wop-page .rule{width:56px;height:2px;background:var(--accent);margin:0 0 30px;border-radius:2px;}
.wop-page .lede{max-width:600px;font-size:1.12rem;color:var(--paper);margin-bottom:36px;text-align:center;margin-left:auto;margin-right:auto;}

.wop-page .essentials-strip{display:flex !important;width:fit-content !important;align-items:center !important;gap:14px !important;font-size:.92rem !important;color:var(--paper) !important;margin-left:auto !important;margin-right:auto !important;margin-bottom:52px !important;padding:14px 12px 14px 26px !important;background:rgba(255,255,255,.05) !important;border:1px solid var(--line) !important;border-radius:var(--radius-pill) !important;flex-wrap:wrap !important;box-shadow:0 8px 24px rgba(0,0,0,.25);position:relative;overflow:hidden;animation:wop-pill-glow 3s ease-in-out infinite;}
.wop-page .essentials-strip::before{content:"";position:absolute;top:0;left:-150%;width:60%;height:100%;background:linear-gradient(120deg, transparent, rgba(255,255,255,.22), transparent);animation:wop-pill-shine 5s ease-in-out infinite;pointer-events:none;}
@keyframes wop-pill-glow{0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.25), 0 0 0 rgba(201,138,75,0);}50%{box-shadow:0 8px 24px rgba(0,0,0,.25), 0 0 24px rgba(201,138,75,.4);}}
@keyframes wop-pill-shine{0%{left:-150%;}40%{left:150%;}100%{left:150%;}}
.wop-page .essentials-strip .sep{color:var(--accent) !important;font-size:1.1rem !important;line-height:1 !important;}
.wop-page .essentials-btn{background:#ffa900 !important;color:#10140f !important;border:none !important;padding:11px 26px !important;font-size:.72rem !important;letter-spacing:.08em !important;text-transform:uppercase !important;border-radius:var(--radius-pill) !important;cursor:pointer !important;font-weight:800 !important;font-family:'Inter',sans-serif !important;transition:transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .35s ease !important;position:relative;z-index:1;overflow:hidden;isolation:isolate;min-width:118px;}
.wop-page .essentials-btn:hover{transform:translateY(-3px) scale(1.07) !important;box-shadow:0 10px 26px rgba(220,38,38,.55) !important;}
.wop-page .essentials-btn:active{transform:translateY(-1px) scale(0.97) !important;}
.wop-page .essentials-btn .btn-fill{position:absolute;inset:0;background:#dc2626;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.65,0,.35,1);z-index:0;}
.wop-page .essentials-btn:hover .btn-fill,.wop-page .essentials-btn:focus-visible .btn-fill{transform:scaleX(1);}
.wop-page .essentials-btn .btn-text{position:relative;z-index:1;display:grid;}
.wop-page .essentials-btn .btn-label,.wop-page .essentials-btn .btn-go{grid-area:1/1;display:inline-flex;align-items:center;justify-content:center;gap:6px;transition:opacity .3s ease, transform .3s ease;white-space:nowrap;}
.wop-page .essentials-btn .btn-label{opacity:1;transform:translateY(0);}
.wop-page .essentials-btn .btn-go{opacity:0;transform:translateY(4px);color:#ffffff !important;}
.wop-page .essentials-btn:hover .btn-label,.wop-page .essentials-btn:focus-visible .btn-label{opacity:0;transform:translateY(-4px);}
.wop-page .essentials-btn:hover .btn-go,.wop-page .essentials-btn:focus-visible .btn-go{opacity:1;transform:translateY(0);}
.wop-page .essentials-btn .btn-arrow{font-size:1em;transition:transform .3s ease;}
.wop-page .essentials-btn:hover .btn-arrow{transform:translateX(3px);}
@media(max-width:640px){.wop-page .essentials-strip{width:100% !important;justify-content:center !important;}}

/* Stats bar */
.wop-page .wop-stats-bar{display:flex !important;justify-content:center !important;gap:20px !important;flex-wrap:wrap !important;padding:52px 24px !important;border-top:1px solid var(--line) !important;border-bottom:1px solid var(--line) !important;}
.wop-page .wop-stat{display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center;min-width:200px !important;flex:1 1 220px;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:28px 20px;transition:transform .2s ease, border-color .2s ease;}
.wop-page .wop-stat:hover{transform:translateY(-4px);border-color:var(--accent);}
.wop-page .wop-stat-num{display:block !important;font-family:'Fraunces',serif !important;font-size:3rem !important;font-style:italic !important;font-weight:600 !important;color:var(--accent) !important;line-height:1 !important;margin-bottom:12px !important;}
.wop-page .wop-stat-label{display:block !important;font-size:.85rem !important;color:var(--muted) !important;max-width:220px !important;line-height:1.4 !important;}

/* Manifesto */
.wop-page .manifesto{padding:96px 24px;background:var(--paper);color:#1a1a1a;min-height:70vh;display:flex;align-items:center;box-sizing:border-box;}
.wop-page .manifesto .grid{display:block;max-width:720px;margin:0 auto;position:relative;}
.wop-page .manifesto .grid::before{content:"\201C";position:absolute;top:-64px;left:-12px;font-family:'Fraunces',serif;font-size:8rem;color:rgba(201,138,75,.28);line-height:1;pointer-events:none;}
.wop-page .manifesto h2{font-size:2.3rem;margin-bottom:22px;color:#1a1a1a;font-style:italic;max-width:14ch;}
.wop-page .manifesto p{color:#3a3a3a;font-size:1.02rem;}
.wop-page .manifesto .divider{border:none;border-top:1px solid #ccc4b4;margin:26px 0;}
.wop-page .manifesto .growth-line{font-size:.95rem;}
.wop-page .manifesto .closing{font-weight:700;font-size:.85rem;letter-spacing:.05em;margin-top:24px;color:#1a1a1a;padding-left:16px;border-left:3px solid var(--accent);}

/* Manifesto — stays fixed while the next section slides over it */
.wop-page .wop-manifesto-pin{
  position: relative;
  padding-bottom: 20vh;
}
.wop-page .manifesto{
  z-index: 1;
}

/* Everything after it becomes one sheet */
.wop-page .content-sheet{
    position:relative;
      background:var(--bg);

    margin-top:-15vh;
    padding-top:15vh;
    border-top-left-radius: 48px;
    border-top-right-radius: 48px;
    z-index: 2;
}

/* First section covering manifesto */
.wop-page .wop-founder-quote{
    position:relative;
       background:var(--bg);
    border-top-left-radius:48px;
    border-top-right-radius:48px;
}

/* Founder quote — slides up and covers the manifesto, rounded top corners */
.wop-page .wop-founder-quote{
  position: relative;
}
/* Manifesto — scroll-linked reveal base state. */
.manifesto h2,
.manifesto .divider,
.manifesto p,
.manifesto .closing{
    opacity:0;
    transform:translateY(60px);

    transition:
        opacity .9s cubic-bezier(.22,.61,.36,1),
        transform .9s cubic-bezier(.22,.61,.36,1);

    will-change:opacity,transform;
}

.manifesto .show{
    opacity:1;
    transform:translateY(0);
}

/* Accessibility */
@media (prefers-reduced-motion: reduce){
    .manifesto h2,
    .manifesto .divider,
    .manifesto p,
    .manifesto .closing{
        opacity:1 !important;
        transform:none !important;
        transition:none !important;
    }
}
.wop-page .wop-founder-quote{padding:40px 24px 20px;max-width:none;width:100%;min-height:15vh;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;text-align:left;background:var(--bg);}
.wop-page .wop-founder-quote blockquote{max-width:760px;margin:0 auto;}
.wop-page .wop-founder-quote blockquote{margin:0 auto;max-width:640px;border-left:3px solid #d64545;padding-left:32px;}
.wop-page .wop-founder-quote p{font-family:'Fraunces',serif;font-style:italic;font-size:1.6rem;color:var(--paper);margin-bottom:16px;}
.wop-page .wop-founder-quote cite{font-size:.9rem;color:var(--muted);font-style:normal;letter-spacing:0;text-transform:none;}

/* Three Responsibilities */
.wop-page .responsibilities{padding:88px 24px;background:var(--bg);position:relative;}
.wop-page .responsibilities .resp-head{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;max-width:1000px;margin:0 auto 52px;text-align:left;}
.wop-page .responsibilities .resp-head h2{font-size:2.2rem;font-style:italic;}
.wop-page .responsibilities .resp-head p{color:var(--muted);max-width:320px;font-size:.9rem;margin:0;}
.wop-page .responsibilities .cards{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;gap:28px !important;}
.wop-page .responsibilities .card{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;position:relative;}
.wop-page .responsibilities .card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--accent);}
.wop-page .responsibilities .card .img{overflow:hidden;aspect-ratio:4/3;filter:grayscale(.15) contrast(1.05);position:relative;}
.wop-page .responsibilities .card .img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.wop-page .responsibilities .card:hover .img img{transform:scale(1.06);}
.wop-page .responsibilities .card .body{padding:26px;position:relative;}
.wop-page .responsibilities .card .num{display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#10140f;background:var(--accent);width:30px;height:30px;border-radius:50%;margin-top:-42px;margin-bottom:14px;position:relative;z-index:2;box-shadow:0 6px 16px rgba(0,0,0,.35);}
.wop-page .responsibilities .card h3{font-size:1.25rem;margin-bottom:12px;color:var(--paper);}
.wop-page .responsibilities .card p{font-size:.9rem;color:var(--muted);margin:0;}

/* Olive leaf motif - responsibilities section only */
.wop-page .responsibilities .olive-rod{
  position:absolute;
  bottom:-20px;
  left:0;
  right:0;
  height:40px;
  pointer-events:none;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.wop-page .responsibilities .olive-rod svg{
  width:100%;
  height:100%;
  color:var(--accent);
}
.wop-page .responsibilities .olive-rod .leaf{
  transform-box:fill-box;
  transform-origin:center;
  animation:wop-sway 4s ease-in-out infinite alternate;
}
.wop-page .responsibilities .olive-rod .leaf:nth-child(1){animation-delay:0s;}
.wop-page .responsibilities .olive-rod .leaf:nth-child(2){animation-delay:0.5s;}
.wop-page .responsibilities .olive-rod .leaf:nth-child(3){animation-delay:1s;}
.wop-page .responsibilities .olive-rod .leaf:nth-child(4){animation-delay:1.5s;}
.wop-page .responsibilities .olive-rod .leaf:nth-child(5){animation-delay:2s;}
.wop-page .responsibilities .olive-rod .leaf:nth-child(6){animation-delay:2.5s;}
.wop-page .responsibilities .olive-rod .leaf:nth-child(7){animation-delay:3s;}
.wop-page .responsibilities .olive-rod .leaf:nth-child(8){animation-delay:3.5s;}
.wop-page .responsibilities .olive-rod .leaf:nth-child(9){animation-delay:4s;}

@keyframes wop-sway{
  0%{transform:rotate(-2deg);}
  100%{transform:rotate(2deg);}
}

@media (prefers-reduced-motion: reduce){
  .wop-page .responsibilities .olive-rod .leaf{
    animation:none !important;
    transform:rotate(0deg) !important;
  }
}

/* Speakers */
.wop-page .wop-speakers{padding:88px 24px !important;}
.wop-page .wop-speakers-head{text-align:center;max-width:600px;margin:0 auto 48px;}
.wop-page .wop-speakers-head h2{font-size:2.2rem;font-style:italic;margin-bottom:12px;}
.wop-page .wop-speakers-head p{color:var(--muted);font-size:.9rem;}
.wop-page .wop-speaker-card{display:block !important;background:var(--bg-alt) !important;border:1px solid var(--line) !important;border-radius:var(--radius) !important;overflow:hidden;padding:0 0 26px !important;text-align:center !important;transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.wop-page .wop-speaker-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--accent);}
.wop-page .wop-speaker-img,.wop-page .wop-speaker-img-placeholder{aspect-ratio:1/1;overflow:hidden;filter:grayscale(.2) contrast(1.05);margin-bottom:18px;}
.wop-page .wop-speaker-img img{width:100%;height:100%;object-fit:cover;display:block;}
.wop-page .wop-speaker-img-placeholder{background:#20261c;display:flex;align-items:center;justify-content:center;}
.wop-page .wop-speaker-img-placeholder::after{content:"";display:block;width:34px;height:34px;border:1px solid var(--accent);border-radius:50%;}
.wop-page .wop-speaker-placeholder-tag{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 12px;font-weight:700;}
.wop-page .wop-speaker-card h3{font-size:1.1rem;margin-bottom:4px;padding:0 20px;color:var(--paper);}
.wop-page .wop-speaker-title{font-size:.82rem;color:var(--accent);margin-bottom:12px;padding:0 20px;}
.wop-page .wop-speaker-bio{font-size:.85rem;color:var(--muted);padding:0 20px;margin:0;}

/* What Changed */
.wop-page .wop-cases{padding:88px 24px;}
.wop-page .wop-cases-head{text-align:center;max-width:600px;margin:0 auto 48px;}
.wop-page .wop-cases-head h2{font-size:2.2rem;font-style:italic;margin-bottom:12px;}
.wop-page .wop-cases-head p{color:var(--muted);font-size:.9rem;}
.wop-page .wop-cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;max-width:1000px;margin:0 auto;}
.wop-page .wop-case-card{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:30px;transition:border-color .22s ease, transform .22s ease;}
.wop-page .wop-case-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.wop-page .wop-case-label{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-weight:800;padding-left:14px;border-left:2px solid var(--accent);}
.wop-page .wop-case-text{font-size:.92rem;color:var(--muted);margin-bottom:18px;padding-left:16px;}

/* Agenda */
.wop-page .wop-agenda{padding:88px 24px;}
.wop-page .wop-agenda-head{text-align:center;max-width:600px;margin:0 auto 48px;}
.wop-page .wop-agenda-head h2{font-size:2.2rem;font-style:italic;margin-bottom:12px;}
.wop-page .wop-agenda-head p{color:var(--muted);font-size:.9rem;}

/* Two-column layout: one image on the left, full timeline on the right */
.wop-page .wop-agenda-layout{
  display:flex;
  gap:48px;
  max-width:1000px;
  margin:0 auto;
  align-items:stretch;
}
.wop-page .wop-agenda-visual{
  flex:0 0 320px;
  border-radius:var(--radius);
  overflow:hidden;
  filter:grayscale(.15) contrast(1.05);
}
.wop-page .wop-agenda-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.wop-page .wop-agenda-days{
  flex:1;
  min-width:0;
  border-left:2px solid var(--line);
  padding-left:28px;
}
.wop-page .wop-agenda-day{border-bottom:1px solid var(--line);padding:22px 0;}
.wop-page .wop-agenda-day:last-child{border-bottom:none;}
.wop-page .wop-agenda-toggle{background:none;border:none;padding:0;width:100%;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:6px;color:var(--paper);}
.wop-page .wop-agenda-day-label{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-weight:800;}
.wop-page .wop-agenda-day-title{font-family:'Fraunces',serif;font-size:1.25rem;color:var(--paper);}
.wop-page .wop-agenda-panel{margin-top:10px;}
.wop-page .wop-agenda-desc{color:var(--muted);font-size:.9rem;margin:0;}

@media(max-width:768px){
  .wop-page .wop-agenda-layout{
    flex-direction:column;
  }
  .wop-page .wop-agenda-visual{
    flex:0 0 auto;
    width:100%;
    aspect-ratio:16/9;
  }
}

/* Pricing */
.wop-page .wop-pricing{padding:88px 24px !important;background:var(--bg) !important;}
.wop-page .wop-pricing-head{text-align:center;max-width:600px;margin:0 auto 16px;}
.wop-page .wop-pricing-head h2{font-size:2.2rem;font-style:italic;margin-bottom:12px;}
.wop-page .wop-pricing-deadline{color:var(--accent);font-size:.85rem;letter-spacing:.04em;text-transform:uppercase;font-weight:700;margin-bottom:52px;text-align:center;}
.wop-page .wop-pricing-cards{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important;gap:28px !important;max-width:1000px;width:100%;margin:0 auto;align-items:stretch;}
.wop-page .wop-price-card{display:flex !important;flex-direction:column;background:var(--bg-alt) !important;border:1px solid var(--line) !important;border-radius:var(--radius) !important;padding:34px 28px !important;text-align:left !important;position:relative;transition:box-shadow .25s ease, border-color .25s ease, transform .25s ease !important;}
.wop-page .wop-price-card:hover{box-shadow:0 0 28px rgba(201,138,75,.3) !important;border-color:var(--accent) !important;transform:translateY(-5px) !important;}
.wop-page .wop-price-card.featured{border-color:var(--accent) !important;box-shadow:0 0 0 1px var(--accent), var(--shadow);}
.wop-page .wop-price-card.featured::before{content:"Recommended";position:absolute;top:-24px;left:12px;background:linear-gradient(135deg, #ffa900, #c98a4b);color:#10140f;font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 14px;border-radius:var(--radius-pill);}
.wop-page .wop-price-card h3{font-size:1.2rem;margin-bottom:4px;color:var(--paper);}
.wop-page .wop-price-tier{color:var(--accent) !important;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;margin-bottom:22px;}
.wop-page .wop-price-amount{font-family:'Fraunces',serif;font-size:2.1rem !important;color:var(--paper) !important;margin-bottom:8px;}
.wop-page .wop-price-amount span{font-size:1rem;color:var(--muted);}
.wop-page .wop-price-avail{font-size:.8rem;color:var(--muted);margin-bottom:16px;min-height:1.2em;}
.wop-page .wop-price-includes{font-size:.86rem;color:var(--muted);margin-bottom:24px;flex:1;}
.wop-page .wop-price-register{width:100% !important;margin-top:auto;border-radius:var(--radius-pill) !important;}

@keyframes wop-pulse-ring{0%{box-shadow:0 0 0 0 rgba(201,138,75,.9);}70%{box-shadow:0 0 0 18px rgba(201,138,75,0);}100%{box-shadow:0 0 0 0 rgba(201,138,75,0);}}
.wop-page .wop-price-card.wop-clicked{animation:wop-pulse-ring 1s ease-out 1;border-color:var(--accent) !important;}

/* Travel + FAQ */
.wop-page .wop-travel{padding:88px 24px;}
.wop-page .wop-travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:1000px;margin:0 auto;}
.wop-page .wop-travel-col h2{font-size:1.7rem;font-style:italic;margin-bottom:22px;}
.wop-page .wop-travel-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.wop-page .wop-travel-list li{font-size:.92rem;color:var(--muted);padding-left:18px;position:relative;}
.wop-page .wop-travel-list li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--accent);}
.wop-page .wop-faq-list{display:flex;flex-direction:column;gap:0;}
.wop-page .wop-faq-item{border-bottom:1px solid var(--line);}
.wop-page .wop-faq-toggle{width:100%;background:none;border:none;text-align:left;padding:18px 30px 18px 0;font-family:'Fraunces',serif;font-size:1.05rem;color:var(--paper);cursor:pointer;position:relative;}
.wop-page .wop-faq-toggle::after{content:"+";position:absolute;right:0;top:16px;color:var(--accent);font-size:1.3rem;font-family:'Inter',sans-serif;transition:transform .2s ease;}
.wop-page .wop-faq-item.active .wop-faq-toggle::after,
.wop-page .wop-faq-item.open .wop-faq-toggle::after{content:"\2013";transform:rotate(180deg);}
.wop-page .wop-faq-answer{padding:0 0 18px;color:var(--muted);font-size:.9rem;transition:max-height .3s ease, opacity .3s ease;}
.wop-page .wop-faq-item .wop-faq-answer{max-height:0;overflow:hidden;opacity:0;}
.wop-page .wop-faq-item.open .wop-faq-answer{max-height:200px;opacity:1;}
@media(max-width:768px){.wop-page .wop-travel-grid{grid-template-columns:1fr;gap:40px;}}

/* Beyond banner */
.wop-page .beyond{max-width:1000px;margin:0 auto 24px;padding:40px 32px;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;}
.wop-page .beyond-text{color:var(--muted);font-size:.92rem;margin:0;max-width:640px;}
.wop-page .beyond-btn{flex-shrink:0;border-radius:var(--radius-pill) !important;color:#10140f !important;}

/* Final CTA */
.wop-page .cta{padding:104px 24px;text-align:left;max-width:720px;}
.wop-page .cta h2{font-size:2.5rem;margin-bottom:24px;font-style:italic;}
.wop-page .cta p{color:var(--muted);margin-bottom:36px;}
.wop-page .cta-meta{margin-top:28px;font-size:.75rem;color:var(--muted);letter-spacing:.08em;}

/* Buttons */
.wop-page .btn{background:var(--accent);color:#10140f;border:none;padding:17px 38px;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-pill);cursor:pointer;font-family:'Inter',sans-serif;font-weight:800;transition:transform .18s ease, box-shadow .18s ease;}
.wop-page .btn:hover{background:#dda05e;transform:translateY(-2px);box-shadow:0 10px 24px rgba(201,138,75,.35);}

/* Footer with watermark */
.wop-footer{background:#0a0d08;color:var(--muted);padding:40px 24px 28px;text-align:center;font-size:.8rem;border-top:1px solid var(--line);position:relative;overflow:hidden;}
.wop-footer::before{content:"women of purpose";position:absolute;left:50%;bottom:-.28em;transform:translateX(-50%);font-family:'Fraunces',serif;font-weight:700;font-style:italic;font-size:clamp(2.4rem,10vw,6rem);color:var(--paper);opacity:.06;white-space:nowrap;pointer-events:none;letter-spacing:-.03em;}
.wop-footer p{position:relative;z-index:1;}

/* Scroll-reveal animations for all sections */
.wop-reveal{
  opacity:0;
  transform:translateY(30px);
  transition:opacity .6s ease, transform .6s ease;
}

.wop-reveal.active{
  opacity:1;
  transform:translateY(0);
}

/* Staggered reveal for children elements */
.wop-stagger-reveal > *{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .6s ease, transform .6s ease;
}

.wop-stagger-reveal.active > *{
  opacity:1;
  transform:translateY(0);
}

/* Apply staggered delays */
.wop-stagger-reveal.active > *:nth-child(1){transition-delay:60ms;}
.wop-stagger-reveal.active > *:nth-child(2){transition-delay:120ms;}
.wop-stagger-reveal.active > *:nth-child(3){transition-delay:180ms;}
.wop-stagger-reveal.active > *:nth-child(4){transition-delay:240ms;}
.wop-stagger-reveal.active > *:nth-child(5){transition-delay:300ms;}
.wop-stagger-reveal.active > *:nth-child(6){transition-delay:360ms;}
.wop-stagger-reveal.active > *:nth-child(7){transition-delay:420ms;}
.wop-stagger-reveal.active > *:nth-child(8){transition-delay:480ms;}

/* Improved hover states for cards */
.wop-page .card,
.wop-page .wop-speaker-card,
.wop-page .wop-case-card,
.wop-page .wop-price-card{
  border-top:1px solid transparent;
  transition:border-color .22s ease, transform .22s ease, box-shadow .22s ease, border-top-color .22s ease;
}

.wop-page .card:hover,
.wop-page .wop-speaker-card:hover,
.wop-page .wop-case-card:hover,
.wop-page .wop-price-card:hover{
  transform:translateY(-6px);
  box-shadow:var(--shadow);
  border-color:var(--accent);
  border-top-color:rgba(255,169,0,.5);
}

/* Premium touch for featured pricing card */
.wop-page .wop-price-card.featured:hover{
  border-top-color:rgba(255,169,0,.7);
  box-shadow:0 0 0 2px rgba(255,169,0,.3), var(--shadow);
}

/* Respect prefers-reduced-motion for all reveals */
@media (prefers-reduced-motion: reduce){
  .wop-reveal,
  .wop-stagger-reveal > *,
  .wop-faq-toggle::after,
  .wop-faq-item .wop-faq-answer{
    transition:none !important;
  }

  .wop-reveal.active{
    opacity:1 !important;
    transform:none !important;
  }

  .wop-stagger-reveal.active > *{
    opacity:1 !important;
    transform:none !important;
  }

  .wop-faq-item.open .wop-faq-answer{
    max-height:none !important;
    opacity:1 !important;
  }
}

/* Increased whitespace/padding for founder quote, responsibilities heading, speakers heading */
.wop-page .wop-founder-quote{margin-top:36px;margin-bottom:0;}
.wop-page .responsibilities .resp-head{margin-top:36px;margin-bottom:36px;}
.wop-page .wop-speakers-head{margin-top:36px;margin-bottom:36px;}

/* Speakers carousel */
.wop-page .wop-speakers-carousel{overflow:hidden;position:relative;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 4%, #000 96%, transparent);
}
.wop-page .wop-speakers-track{display:flex;width:max-content;will-change:transform;}
.wop-page .wop-speakers-track .wop-speaker-card{flex:0 0 auto;width:280px;margin-right:28px;}
@keyframes wop-speakers-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce){
  .wop-page .wop-speakers-track{ animation: none; }
}
@media(max-width:900px){
  .wop-page .wop-speakers-track .wop-speaker-card{width:calc(50% - 21px);margin-right:28px;}
  .wop-page .wop-speakers-track .wop-speaker-card:last-child{margin-right:0;}
}
@media(max-width:520px){
  .wop-page .wop-speakers-track .wop-speaker-card{width:100%;margin-right:0;}
}
.wop-page .wop-carousel-prev,
.wop-page .wop-carousel-next{
  position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.15);border:none;color:var(--paper);width:40px;height:40px;border-radius:50%;cursor:pointer;z-index:2;font-size:1.4rem;line-height:1;display:flex;align-items:center;justify-content:center;
}
.wop-page .wop-carousel-prev{left:8px;}
.wop-page .wop-carousel-next{right:8px;}
.wop-page .wop-carousel-prev:hover,
.wop-page .wop-carousel-next:hover{background:rgba(255,255,255,0.28);}
/* ============================================
   REGISTRATION MODAL
   ============================================ */
.wop-page .modal-overlay{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(16,20,15,.75);
  backdrop-filter:blur(4px);
  z-index:9999;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.wop-page .modal-overlay.active{
  display:flex;
}
.wop-page .modal{
  background:var(--bg);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  max-width:640px;
  width:100%;
  max-height:88vh;
  overflow-y:auto;
  padding:40px;
  position:relative;
}
.wop-page .modal-close{
  position:absolute;
  top:16px;
  right:16px;
  background:none;
  border:none;
  color:var(--muted);
  font-size:28px;
  line-height:1;
  cursor:pointer;
  transition:color .2s ease;
}
.wop-page .modal-close:hover{
  color:var(--paper);
}
.wop-page .modal .eyebrow.dark{
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--accent);
  font-weight:700;
  margin-bottom:8px;
}
.wop-page .modal .form-kicker{
  font-style:italic;
  color:var(--muted);
  margin-top:-6px;
}
.wop-page .modal .modal-sub{
  color:var(--muted);
  font-size:.92rem;
  margin-bottom:24px;
}
.wop-page .modal .section-title{
  font-family:'Fraunces',serif;
  color:var(--paper);
  font-size:1.05rem;
  margin-top:28px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
.wop-page .modal .section-note{
  color:var(--muted);
  font-size:.85rem;
  margin-bottom:12px;
}
.wop-page .modal .field{
  display:block;
  margin-bottom:16px;
}
.wop-page .modal .field span{
  display:block;
  font-size:.82rem;
  color:var(--muted);
  margin-bottom:6px;
}
.wop-page .modal .field input,
.wop-page .modal .field textarea{
  width:100%;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:10px 12px;
  color:var(--paper);
  font-family:'Inter',sans-serif;
  font-size:.92rem;
}
.wop-page .modal .field input:focus,
.wop-page .modal .field textarea:focus{
  outline:none;
  border-color:var(--accent);
}
.wop-page .modal .field.invalid input,
.wop-page .modal .field.invalid textarea{
  border-color:#d9a15c;
}
.wop-page .modal .pathway{
  display:block;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  padding:14px;
  margin-bottom:10px;
  cursor:pointer;
  transition:border-color .2s ease;
}
.wop-page .modal .pathway:hover{
  border-color:var(--accent);
}
.wop-page .modal .pathway.invalid{
  border-color:#d9a15c;
}
.wop-page .modal .pathway-body{
  display:block;
  margin-left:28px;
  margin-top:-20px;
}
.wop-page .modal .pathway-head{
  display:flex;
  justify-content:space-between;
  color:var(--paper);
  font-size:.92rem;
}
.wop-page .modal .pathway-head em{
  color:var(--accent);
  font-style:normal;
}
.wop-page .modal .pathway-sub{
  display:block;
  color:var(--muted);
  font-size:.78rem;
  margin-top:4px;
}
.wop-page .modal .pathway input[type="radio"]{
  margin-right:8px;
  vertical-align:top;
}
.wop-page .modal .check-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
}
.wop-page .modal .chk{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:.85rem;
  color:var(--paper);
}
.wop-page .modal .chk-block{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:10px 0;
  font-size:.85rem;
  color:var(--paper);
}
.wop-page .modal .chk-block input{
  margin-top:4px;
}
.wop-page .modal .radio-row{
  display:flex;
  gap:20px;
}
.wop-page .modal .radio-row.wrap{
  flex-wrap:wrap;
  gap:12px 24px;
}
.wop-page .modal .fine-print{
  font-size:.72rem;
  color:var(--muted);
  margin-top:4px;
}
.wop-page .modal .form-error{
  color:#e0b878;
  font-size:.85rem;
  min-height:1.2em;
}
.wop-page .modal .hp-field{
  position:absolute;
  left:-9999px;
}
.wop-page .modal .btn-submit{
  width:100%;
  margin-top:20px;
}


  

/* ============================================
   REGISTRATION FORM CREAM BACKGROUND OVERRIDE
   ============================================ */
.wop-page .modal{
  background:#1C3B2A;
}


/* ============================================
   KILL RED — neutralize browser :invalid styling
   ============================================ */
.wop-page .modal .chk-block,
.wop-page .modal .chk-block *,
.wop-page .modal .chk,
.wop-page .modal .chk *,
.wop-page .modal input:invalid,
.wop-page .modal input:invalid + span {
  color: var(--paper) !important;
}

/* ============================================
   PARTNERS SECTION
   ============================================ */
.wop-page .wop-partners{padding:64px 24px 88px;background:var(--bg);}
.wop-page .wop-partners-head{text-align:center;max-width:600px;margin:0 auto 40px;}
.wop-page .wop-partners-head h2{font-size:2rem;font-style:italic;margin-bottom:8px;}
.wop-page .wop-partners-head p{color:var(--muted);font-size:.92rem;margin:0;}
.wop-page .wop-partners-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:900px;margin:0 auto;}
.wop-page .wop-partner-tile{
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:rgba(255,255,255,.02);
  min-height:96px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  text-align:center;
  overflow:hidden;
  transition:transform .6s ease;
}
.wop-page .wop-partner-tile:hover{
  transform:scale(1.08);
}
.wop-page .wop-partner-tile img{
  max-width:100%;
  max-height:56px;
  object-fit:contain;
  transition:transform .6s ease;
}
.wop-page .wop-partner-tile:hover img{
  transform:scale(1.06);
}
.wop-page .wop-partner-placeholder-tag{
  font-size:.78rem;
  color:var(--muted);
  letter-spacing:.02em;
}
@media(max-width:640px){
  .wop-page .wop-partners-grid{grid-template-columns:repeat(2,1fr);}
}

/* ============================================
   MANIFESTO — two column layout with baobab tree
   ============================================ */
.wop-page .manifesto .grid{
  display:grid;
  grid-template-columns:minmax(140px,220px) 1fr;
  gap:40px;
  align-items:center;
  max-width:920px;
  margin:0 auto;
}
.wop-page .manifesto .grid::before{
  left:-100px;
}
.wop-page .manifesto-tree{
  width:100%;
}
.wop-page .manifesto-tree img{
  width:100%;
  height:auto;
  display:block;
  mix-blend-mode:multiply;
}
.wop-page .manifesto-copy{
  text-align:left;
}
@media(max-width:768px){
  .wop-page .manifesto .grid{
    grid-template-columns:1fr;
  }
  .wop-page .manifesto-tree{
    max-width:160px;
    margin:0 auto 24px;
  }
}

/* ============================================
   BAOBAB TREE — trunk + branch + leaf colors
   ============================================ */
.wop-page .manifesto-tree .tree-trunk{
  fill:#2B2E29;
}
.wop-page .manifesto-tree .tree-branches path{
  fill:none;
  stroke:#2B2E29;
  stroke-width:4;
  stroke-linecap:round;
}
.wop-page .manifesto-tree .tree-leaves circle{
  fill:#7AC142;
}

/* Quote pin wrapper — gives the sticky founder quote room to travel */
.wop-page .wop-quote-pin{
  position: relative;
}

/* Fix: theme sets body{overflow:hidden}, which breaks position:sticky
   for elements inside it. Override just for this page template. */
body.page-id-7122{
  overflow: visible !important;
}
html.page-id-7122{
  overflow-x: hidden !important;
  overflow-y: visible !important;
}


/* Build Self / Institutions / Future — image zoom + neon green rise-from-base-on-hover, synced timing */
.wop-page .cards .card .img{
  position: relative;
  overflow: hidden;
}

.wop-page .cards .card .img img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.8s ease;
}

.wop-page .cards .card .img::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(57, 255, 20, 0.55) 0%,
    rgba(57, 255, 20, 0.25) 20%,
    rgba(57, 255, 20, 0) 50%
  );
  pointer-events: none;
  clip-path: inset(100% 0 0 0);
  transition: clip-path 1.8s ease;
}

/* MOBILE / touch devices — rises on scroll-into-view, stays while visible */
@media (hover: none), (pointer: coarse){
  .wop-page .cards .card.in-view .img img{
    transform: scale(1.08);
  }
  .wop-page .cards .card.in-view .img::after{
    clip-path: inset(0 0 0 0);
  }
}

/* DESKTOP — one-time scroll-triggered preview (rise then auto-reverse), then hover takes over */
@media (hover: hover) and (pointer: fine){
  .wop-page .cards .card.preview .img img,
  .wop-page .cards .card:hover .img img{
    transform: scale(1.08);
  }
  .wop-page .cards .card.preview .img::after,
  .wop-page .cards .card:hover .img::after{
    clip-path: inset(0 0 0 0);
  }
}

/* Fountain cascade — each card rises slightly after the previous one */
.wop-page .cards .card:nth-child(1) .img img,
.wop-page .cards .card:nth-child(1) .img::after{
  transition-delay: 0s;
}
.wop-page .cards .card:nth-child(2) .img img,
.wop-page .cards .card:nth-child(2) .img::after{
  transition-delay: 0.35s;
}
.wop-page .cards .card:nth-child(3) .img img,
.wop-page .cards .card:nth-child(3) .img::after{
  transition-delay: 0.7s;
}


/* ============================================
   PARTNERS — two-row infinite marquee, opposite directions
   ============================================ */
.wop-page .wop-partners-marquee{
  max-width:900px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.wop-page .wop-partners-row{
  overflow:hidden;
  width:100%;
  -webkit-mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(to right, transparent, #000 6%, #000 94%, transparent);
}
.wop-page .wop-partners-track{
  display:flex;
  gap:16px;
  width:max-content;
}
.wop-page .wop-partners-row-1 .wop-partners-track{
  animation: wop-partners-scroll-right 45s linear infinite;
}
.wop-page .wop-partners-row-2 .wop-partners-track{
  animation: wop-partners-scroll-left 45s linear infinite;
}
.wop-page .wop-partners-row:hover .wop-partners-track{
  animation-play-state: paused;
}
@keyframes wop-partners-scroll-left{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}
@keyframes wop-partners-scroll-right{
  from{ transform:translateX(-50%); }
  to{ transform:translateX(0); }
}
.wop-page .wop-partners-track .wop-partner-tile{
  flex: 0 0 260px;
}
@media(max-width:640px){
  .wop-page .wop-partners-track .wop-partner-tile{
    flex: 0 0 200px;
  }
}

/* Grayscale-to-color reveal for real partner logos once added */
.wop-page .wop-partner-tile img{
  filter: grayscale(1);
  transition: filter .5s ease, transform .6s ease;
}
.wop-page .wop-partner-tile:hover img{
  filter: grayscale(0);
}

@media (prefers-reduced-motion: reduce){
  .wop-page .wop-partners-track{
    animation: none !important;
  }
}


/* ============================================
   REGISTER BUTTON — periodic tremble, repeats every 4.5s
   ============================================ */
@keyframes essentials-btn-tremble{
  0%, 77.8%{ transform: translate(0, 0) rotate(0); }   /* rest for most of the cycle (~3.5s of 4.5s) */
  80%{ transform: translate(-2px, 0) rotate(-1.5deg); }
  82%{ transform: translate(2px, 0) rotate(1.5deg); }
  84%{ transform: translate(-2px, 0) rotate(-1.5deg); }
  86%{ transform: translate(2px, 0) rotate(1.5deg); }
  88%{ transform: translate(-1px, 0) rotate(-0.8deg); }
  90%{ transform: translate(1px, 0) rotate(0.8deg); }
  92%, 100%{ transform: translate(0, 0) rotate(0); }
}

.essentials-btn{
  animation: essentials-btn-tremble 4.5s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce){
  .essentials-btn{
    animation: none;
  }
}


/* ============================================
   LEDE — letters form one by one on load
   ============================================ */
.wop-page .lede .letter{
  display: inline-block;
  opacity: 0;
  transform: translateY(8px);
  animation: wop-letter-in 0.5s ease forwards;
}

@keyframes wop-letter-in{
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce){
  .wop-page .lede .letter{
    animation: none;
    opacity: 1;
    transform: none;
  }
}


/* Speaker cards — clickable for detail modal */
.wop-page .wop-speaker-card{ cursor: pointer; }

/* Prev/next sit above the track and mask */
.wop-page .wop-carousel-prev,
.wop-page .wop-carousel-next{ z-index: 3; }


/* Speaker card — Read more link (only shown when bio is truncated) */
.wop-page .wop-speaker-bio-more{
  color: var(--accent);
  font-weight: 600;
  font-size: .85rem;
  cursor: pointer;
  display: inline-block;
  margin-top: 6px;
  text-decoration: underline;
}
