/*! valdemade b4b4028 956b 2026-10-22 */
:root{
  --peach:#ffd5c2; --peach-2:#ffb89a; --lilac:#d8c8ff; --lilac-2:#b8a0ff;
  --mint:#bff7d8; --mint-2:#7fe3a8; --sky:#bfe5ff; --sky-2:#7fc8ff;
  --butter:#fff0a8; --rose:#ffb8d4;
  --ink:#2a1a3a; --ink-2:#5d4d70; --ink-mute:#9c8eb0;
  --paper:#fff7f1; --paper-2:#ffeee0;
  --shadow:0 8px 0 rgba(42,26,58,.12), 0 18px 30px -10px rgba(42,26,58,.18);
  --shadow-press:0 3px 0 rgba(42,26,58,.18), 0 6px 14px -2px rgba(42,26,58,.18);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);color:var(--ink);font-family:"Plus Jakarta Sans",system-ui,sans-serif;line-height:1.55;overflow-x:hidden;
  background-image:
    radial-gradient(circle at 12% 8%,var(--peach) 0,transparent 28%),
    radial-gradient(circle at 88% 18%,var(--lilac) 0,transparent 32%),
    radial-gradient(circle at 92% 78%,var(--mint) 0,transparent 30%),
    radial-gradient(circle at 8% 92%,var(--sky) 0,transparent 28%);
  background-attachment:fixed;
}
a{color:inherit;text-decoration:none}
.hand{font-family:"Caveat",cursive;font-weight:700}
.mono{font-family:"JetBrains Mono",monospace}
::selection{background:var(--lilac-2);color:var(--ink)}

.wrap{max-width:1200px;margin:0 auto;padding:0 24px;position:relative}

/* ============ HEADER (floating glass dock) ============ */
header{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:50;width:calc(100% - 32px);max-width:1180px}
.dock{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 18px;background:rgba(255,247,241,.7);backdrop-filter:blur(20px) saturate(140%);border:1.5px solid rgba(255,255,255,.7);border-radius:28px;box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:-.01em;padding-right:12px;border-right:1.5px solid rgba(42,26,58,.08)}
.brand .blob{width:36px;height:36px;border-radius:14px;background:linear-gradient(135deg,var(--peach-2),var(--lilac-2));display:grid;place-items:center;color:#fff;font-weight:800;font-family:"JetBrains Mono",monospace;box-shadow:inset 0 -3px 0 rgba(0,0,0,.08),0 4px 0 rgba(42,26,58,.18);transform:rotate(-4deg);transition:.4s}
.dock:hover .brand .blob{transform:rotate(4deg) scale(1.06)}
nav.dock-nav{display:flex;gap:4px;align-items:center}
.dock-nav a{padding:9px 14px;border-radius:14px;font-weight:600;font-size:14px;color:var(--ink-2);transition:.2s;position:relative}
.dock-nav a:hover{color:var(--ink);background:rgba(216,200,255,.5)}
.dock-nav a.active{color:var(--ink);background:#fff;box-shadow:var(--shadow-press)}
.dock-cta{margin-left:auto;display:flex;gap:10px;align-items:center}
.btn{padding:11px 18px;border-radius:18px;font-weight:700;font-size:14px;cursor:pointer;transition:.2s;border:0;display:inline-flex;align-items:center;gap:8px;letter-spacing:-.01em}
.btn:active{transform:translateY(2px)}
.btn.ghost{background:transparent;color:var(--ink);border:1.5px solid rgba(42,26,58,.18)}
.btn.ghost:hover{background:rgba(255,255,255,.6)}
.btn.solid{background:var(--ink);color:var(--peach);box-shadow:var(--shadow-press)}
.btn.solid:hover{transform:translateY(-2px);box-shadow:0 6px 0 rgba(42,26,58,.18),0 14px 24px -4px rgba(42,26,58,.3)}
.btn.candy{background:linear-gradient(135deg,var(--peach-2),var(--rose));color:var(--ink);box-shadow:0 4px 0 var(--ink),0 10px 20px -4px rgba(255,184,154,.55)}
.btn.candy:hover{transform:translateY(-2px);box-shadow:0 6px 0 var(--ink),0 14px 30px -4px rgba(255,184,154,.7)}
.btn.lg{padding:16px 26px;font-size:16px;border-radius:22px}

@media(max-width:780px){.dock-nav{display:none}.dock{padding:8px 8px 8px 14px}}

/* ============ HERO ============ */
.hero{padding:140px 0 80px;position:relative;min-height:90vh;display:flex;align-items:center}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;width:100%}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr}.hero{padding:120px 0 60px}}
.eyebrow{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.8);backdrop-filter:blur(8px);padding:9px 16px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ink-2);box-shadow:var(--shadow-press);margin-bottom:24px;border:1.5px solid rgba(255,255,255,.7)}
.eyebrow .pulse{width:8px;height:8px;border-radius:50%;background:var(--mint-2);animation:pulse 1.6s infinite;box-shadow:0 0 0 0 var(--mint-2)}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(127,227,168,.6)}70%{box-shadow:0 0 0 10px rgba(127,227,168,0)}100%{box-shadow:0 0 0 0 rgba(127,227,168,0)}}

h1{font-size:clamp(48px,7vw,86px);line-height:1.0;letter-spacing:-.035em;font-weight:800}
h1 .squig{position:relative;display:inline-block;color:var(--ink)}
h1 .squig svg{position:absolute;left:-4%;bottom:-12px;width:108%;height:18px}
h1 .grad{background:linear-gradient(135deg,var(--peach-2),var(--lilac-2),var(--sky-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p.lede{font-size:19px;color:var(--ink-2);margin-top:24px;max-width:540px;line-height:1.55}
.hero .actions{margin-top:36px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hero .doodle{font-family:"Caveat";font-size:22px;color:var(--ink-2);display:inline-flex;align-items:center;gap:8px;font-weight:700}

/* hero stage with mascot + floating blocks */
.stage{position:relative;height:520px}
.float{position:absolute;animation:float 7s ease-in-out infinite}
.float.d2{animation-delay:-2s;animation-duration:9s}
.float.d3{animation-delay:-4s;animation-duration:8s}
.float.d4{animation-delay:-1s;animation-duration:6s}
@keyframes float{0%,100%{transform:translateY(0) rotate(var(--r,0deg))}50%{transform:translateY(-14px) rotate(var(--r,0deg))}}

.clay-block{background:linear-gradient(140deg,#fff,var(--paper-2));border-radius:22px;padding:18px 22px;box-shadow:var(--shadow);font-family:"JetBrains Mono",monospace;font-size:13px;font-weight:700;border:2px solid rgba(255,255,255,.9);position:absolute}
.clay-block.peach{background:linear-gradient(140deg,var(--peach),var(--peach-2));color:var(--ink)}
.clay-block.lilac{background:linear-gradient(140deg,var(--lilac),var(--lilac-2));color:var(--ink)}
.clay-block.mint{background:linear-gradient(140deg,var(--mint),var(--mint-2));color:var(--ink)}
.clay-block.butter{background:linear-gradient(140deg,var(--butter),#ffd86a);color:var(--ink)}
.clay-block.sky{background:linear-gradient(140deg,var(--sky),var(--sky-2));color:var(--ink)}

.b1{top:0;right:30%;--r:-6deg}
.b2{top:30px;right:0;--r:5deg}
.b3{bottom:80px;left:0;--r:-3deg}
.b4{bottom:30px;right:10%;--r:6deg}

.mascot{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:340px;animation:wiggle 5s ease-in-out infinite}
@keyframes wiggle{0%,100%{transform:translate(-50%,-50%) rotate(-3deg)}50%{transform:translate(-50%,-50%) rotate(3deg)}}

@media(max-width:880px){.stage{height:380px;max-width:420px;margin:0 auto}.mascot{width:280px}}

/* stat chips */
.chips{display:flex;gap:14px;margin-top:50px;flex-wrap:wrap}
.chip{background:#fff;border:2px solid rgba(255,255,255,.9);border-radius:22px;padding:18px 22px;box-shadow:var(--shadow-press);min-width:140px;transition:.25s}
.chip:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.chip b{font-size:32px;font-weight:800;letter-spacing:-.02em;display:block;color:var(--ink)}
.chip span{font-size:12px;color:var(--ink-2);font-weight:600;display:block;margin-top:2px}

/* ============ SECTIONS ============ */
section{padding:100px 0;position:relative}
.s-head{text-align:center;max-width:740px;margin:0 auto 56px}
.badge{display:inline-flex;align-items:center;gap:8px;background:#fff;padding:9px 18px;border-radius:999px;font-size:13px;font-weight:700;color:var(--ink-2);box-shadow:var(--shadow-press);margin-bottom:18px}
.badge .num{width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--peach);display:grid;place-items:center;font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:800}
.s-head h2{font-size:clamp(36px,5vw,60px);font-weight:800;letter-spacing:-.03em;line-height:1.05}
.s-head h2 em{font-style:normal;background:linear-gradient(135deg,var(--peach-2),var(--lilac-2));-webkit-background-clip:text;background-clip:text;color:transparent}
.s-head p{margin-top:18px;font-size:17px;color:var(--ink-2);line-height:1.6}

/* ============ TRACKS — squircle bento ============ */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:18px}
@media(max-width:880px){.bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:auto}}
.tile{background:#fff;border-radius:30px;padding:26px;box-shadow:var(--shadow);border:2px solid rgba(255,255,255,.9);transition:.3s;display:flex;flex-direction:column;gap:8px;position:relative;overflow:hidden}
.tile:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:0 12px 0 rgba(42,26,58,.12),0 28px 50px -10px rgba(42,26,58,.25)}
.tile.tall{grid-row:span 2}
.tile.wide{grid-column:span 2}
.tile.peach{background:linear-gradient(140deg,var(--peach),var(--peach-2));color:var(--ink)}
.tile.lilac{background:linear-gradient(140deg,var(--lilac),var(--lilac-2))}
.tile.mint{background:linear-gradient(140deg,var(--mint),var(--mint-2))}
.tile.sky{background:linear-gradient(140deg,var(--sky),var(--sky-2))}
.tile.butter{background:linear-gradient(140deg,var(--butter),#ffd86a)}
.tile.rose{background:linear-gradient(140deg,var(--rose),#ff8fbf)}
.tile.ink{background:linear-gradient(140deg,var(--ink),#3d2a52);color:var(--peach)}
.tile.ink p,.tile.ink .meta{color:#d8c8ff}.tile.ink .num{background:var(--peach);color:var(--ink)}
.tile .num{width:40px;height:40px;border-radius:14px;background:rgba(255,255,255,.7);color:var(--ink);display:grid;place-items:center;font-family:"JetBrains Mono",monospace;font-weight:800;font-size:15px;backdrop-filter:blur(4px);box-shadow:inset 0 -2px 0 rgba(0,0,0,.08)}
.tile h3{font-size:22px;font-weight:800;letter-spacing:-.015em;line-height:1.1;margin-top:6px}
.tile.wide h3{font-size:30px}
.tile.tall h3{font-size:28px}
.tile p{font-size:14px;color:var(--ink-2);line-height:1.5;margin-top:auto}
.tile.peach p,.tile.lilac p,.tile.mint p,.tile.sky p,.tile.butter p,.tile.rose p{color:rgba(42,26,58,.75)}
.tile .meta{font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;color:var(--ink-2);text-transform:uppercase;letter-spacing:.1em}
.tile .glyph{position:absolute;right:-22px;bottom:-18px;font-size:120px;font-weight:800;line-height:1;opacity:.18;font-family:"Caveat";color:var(--ink);pointer-events:none}

/* ============ PROJECTS — clay carousel ============ */
.proj-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media(max-width:880px){.proj-rail{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.proj-rail{grid-template-columns:1fr}}
.proj-card{background:#fff;border-radius:28px;padding:22px;box-shadow:var(--shadow);transition:.3s;border:2px solid rgba(255,255,255,.9);position:relative}
.proj-card:nth-child(3n+1){background:linear-gradient(140deg,#fff,var(--peach))}
.proj-card:nth-child(3n+2){background:linear-gradient(140deg,#fff,var(--mint))}
.proj-card:nth-child(3n+3){background:linear-gradient(140deg,#fff,var(--lilac))}
.proj-card:hover{transform:translateY(-8px) rotate(-2deg);box-shadow:0 14px 0 rgba(42,26,58,.12),0 30px 50px -10px rgba(42,26,58,.25)}
.proj-card .pad{background:rgba(255,255,255,.7);border-radius:20px;height:160px;display:grid;place-items:center;margin-bottom:16px;border:2px solid rgba(255,255,255,.9);overflow:hidden;position:relative}
.proj-card .pad svg{width:100%;height:100%;display:block}
.proj-card .lbl{font-family:"JetBrains Mono",monospace;font-size:11px;color:var(--ink-2);font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}
.proj-card h4{font-size:19px;font-weight:800;letter-spacing:-.01em}
.proj-card .tags{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.proj-card .tags span{background:rgba(255,255,255,.7);font-size:11px;padding:4px 10px;border-radius:999px;font-weight:700;color:var(--ink-2);font-family:"JetBrains Mono",monospace}
.proj-card .badge-cert{position:absolute;top:14px;right:14px;background:var(--ink);color:var(--peach);font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:700;padding:5px 10px;border-radius:999px;letter-spacing:.1em}

/* ============ HOW IT WORKS — connected steps ============ */
.flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
@media(max-width:880px){.flow{grid-template-columns:repeat(2,1fr);gap:30px}}
@media(max-width:520px){.flow{grid-template-columns:1fr}}
.flow-step{padding:30px 22px;text-align:center;position:relative}
.flow-step .ico{width:84px;height:84px;border-radius:30px;margin:0 auto 18px;display:grid;place-items:center;font-size:40px;box-shadow:var(--shadow);transition:.3s;position:relative;z-index:2}
.flow-step:nth-child(1) .ico{background:linear-gradient(140deg,var(--peach),var(--peach-2))}
.flow-step:nth-child(2) .ico{background:linear-gradient(140deg,var(--mint),var(--mint-2))}
.flow-step:nth-child(3) .ico{background:linear-gradient(140deg,var(--lilac),var(--lilac-2))}
.flow-step:nth-child(4) .ico{background:linear-gradient(140deg,var(--butter),#ffd86a)}
.flow-step:hover .ico{transform:translateY(-4px) rotate(-6deg)}
.flow-step .step-n{position:absolute;top:0;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--peach);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-family:"JetBrains Mono",monospace;font-weight:800;font-size:13px;z-index:3}
.flow-step h4{font-size:20px;font-weight:800;letter-spacing:-.01em}
.flow-step p{font-size:14px;color:var(--ink-2);margin-top:8px;line-height:1.55}
/* dashed connector arrows between steps */
.flow::before{content:"";position:absolute;top:78px;left:12.5%;width:75%;height:2px;background-image:radial-gradient(circle,var(--ink-mute) 1.5px,transparent 1.5px);background-size:14px 2px;background-repeat:repeat-x;z-index:1}
@media(max-width:880px){.flow::before{display:none}}

/* ============ PRICING — clay cards ============ */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:center}
@media(max-width:880px){.plans{grid-template-columns:1fr}}
.plan{background:#fff;border-radius:32px;padding:36px 32px;box-shadow:var(--shadow);border:2px solid rgba(255,255,255,.9);transition:.3s;position:relative}
.plan:hover{transform:translateY(-4px) rotate(-1deg)}
.plan.pop{background:linear-gradient(160deg,var(--peach),var(--peach-2),var(--rose));transform:scale(1.05)}
.plan.pop:hover{transform:scale(1.05) translateY(-6px) rotate(-1deg)}
.plan.pop::before{content:"⭐ most loved";position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--peach);font-family:"JetBrains Mono",monospace;font-size:11px;font-weight:700;padding:6px 14px;border-radius:999px;letter-spacing:.1em;white-space:nowrap}
.plan h4{font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2)}
.plan .price{font-size:64px;font-weight:800;letter-spacing:-.04em;margin:16px 0 6px;line-height:.9}
.plan .price small{font-size:14px;color:var(--ink-2);font-weight:600;letter-spacing:0;text-transform:none}
.plan .blurb{font-size:14px;color:var(--ink-2);min-height:42px;margin-bottom:20px}
.plan ul{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:24px;padding-top:20px;border-top:2px dashed rgba(42,26,58,.15)}
.plan ul li{font-size:14px;display:flex;gap:10px;align-items:flex-start}
.plan ul li::before{content:"✓";flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--mint-2);color:var(--ink);display:grid;place-items:center;font-weight:800;font-size:13px}
.plan.pop ul li::before{background:var(--ink);color:var(--peach)}
.plan .btn{width:100%;justify-content:center}

/* ============ FAQ ============ */
.qbox{display:grid;gap:14px;max-width:820px;margin:0 auto}
.qbox details{background:#fff;border-radius:24px;padding:0;box-shadow:var(--shadow-press);border:2px solid rgba(255,255,255,.9);transition:.25s;overflow:hidden}
.qbox details[open]{background:linear-gradient(140deg,#fff,var(--lilac));box-shadow:var(--shadow)}
.qbox summary{padding:22px 26px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:16px;font-weight:700}
.qbox summary::-webkit-details-marker{display:none}
.qbox summary::after{content:"+";width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--peach);display:grid;place-items:center;font-weight:800;transition:.25s;font-size:18px;flex-shrink:0}
.qbox details[open] summary::after{transform:rotate(45deg);background:var(--lilac-2)}
.qbox details p{padding:0 26px 24px;color:var(--ink-2);font-size:15px;line-height:1.65}

/* ============ CTA banner ============ */
.cta-banner{background:linear-gradient(140deg,var(--ink),#3d2a52);color:var(--peach);border-radius:42px;padding:64px 48px;text-align:center;box-shadow:var(--shadow);position:relative;overflow:hidden;margin:60px 0}
.cta-banner::before{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--peach-2),transparent 70%);opacity:.5;top:-120px;left:-100px;animation:drift 12s ease-in-out infinite}
.cta-banner::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,var(--lilac-2),transparent 70%);opacity:.5;bottom:-120px;right:-100px;animation:drift 14s ease-in-out infinite reverse}
@keyframes drift{0%,100%{transform:translate(0,0)}50%{transform:translate(40px,30px)}}
.cta-banner h2{position:relative;font-size:clamp(36px,5vw,56px);font-weight:800;letter-spacing:-.03em;line-height:1.1;color:#fff}
.cta-banner h2 em{font-style:normal;color:var(--peach-2)}
.cta-banner p{position:relative;color:#d8c8ff;margin-top:14px;font-size:17px}
.cta-banner .actions{position:relative;margin-top:30px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta-banner .btn.candy{box-shadow:0 4px 0 rgba(0,0,0,.4),0 10px 30px -4px rgba(255,184,154,.5)}

/* ============ FOOTER ============ */
footer{padding:80px 0 0;position:relative}
.foot-wave{height:80px;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 80' preserveAspectRatio='none'><path d='M0,40 Q300,80 600,40 T1200,40 L1200,80 L0,80 Z' fill='%232a1a3a'/></svg>") no-repeat;background-size:100% 100%}
.foot-body{background:var(--ink);color:var(--peach);padding:36px 0 0;margin-top:-1px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.1)}
@media(max-width:880px){.foot-grid{grid-template-columns:1fr 1fr}}
.foot-grid .brand{display:flex;flex-direction:column;gap:14px}
.foot-grid .brand .row{display:flex;align-items:center;gap:12px}
.foot-grid .brand .blob{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--peach-2),var(--lilac-2));display:grid;place-items:center;color:#fff;font-weight:800;font-family:JetBrains Mono;box-shadow:inset 0 -3px 0 rgba(0,0,0,.18);transform:rotate(-4deg)}
.foot-grid .brand h4{font-size:22px;font-weight:800;color:#fff}
.foot-grid .brand p{color:#bfa8d8;font-size:14px;max-width:300px;line-height:1.55}
.foot-grid h5{font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--peach-2);margin-bottom:14px}
.foot-grid a{display:block;color:#d8c8ff;font-size:14px;padding:5px 0;transition:.15s}
.foot-grid a:hover{color:var(--peach-2)}
.pay-cards-c{margin-top:18px}
.pay-lbl-c{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--peach-2);margin-bottom:10px;display:block;font-weight:800}
.pay-row-c{display:flex;gap:10px}
.pay-row-c img{height:36px;width:auto;background:#fff;padding:4px 7px;border-radius:10px;box-shadow:0 4px 0 rgba(0,0,0,.25);transition:.25s}
.pay-row-c img:hover{transform:translateY(-3px) rotate(-3deg);box-shadow:0 8px 0 rgba(0,0,0,.25)}
.foot-contact-c{padding:24px 0;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px;color:#bfa8d8;display:flex;gap:32px;flex-wrap:wrap}
.foot-contact-c p{margin:0}
.foot-contact-c b{color:var(--peach-2);font-weight:800}
.foot-contact-c a{color:#d8c8ff}
.foot-contact-c a:hover{color:var(--peach-2)}
.foot-copy-c{padding:16px 0;border-top:1px solid rgba(255,255,255,.1);font-size:12px;color:#9c8eb0;text-align:center;line-height:1.65;font-family:"JetBrains Mono",monospace;letter-spacing:.02em}
.foot-end{padding:18px 0;display:flex;justify-content:space-between;font-size:13px;color:var(--ink-mute);align-items:center;flex-wrap:wrap;gap:10px}
.foot-end .hand{font-size:18px;color:var(--peach-2)}

/* reveals */
.reveal{opacity:0;transform:translateY(28px) scale(.97);transition:.8s cubic-bezier(.2,.6,.2,1)}
.reveal.in{opacity:1;transform:none}

/* draw-on underline */
.squig svg path{stroke-dasharray:300;stroke-dashoffset:300;animation:draw 1.6s .4s ease-out forwards}
@keyframes draw{to{stroke-dashoffset:0}}/* the theme hero photo treatment — append to existing main.css */
.hero .hero-photo{ position: relative; }
.hero .hero-photo img{
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 18px 50px rgba(80,40,120,.18);
}
.hero .hero-photo::before{
  content:'';
  position:absolute;
  inset: 20px -20px -20px 20px;
  background: linear-gradient(135deg, #ffd5c2, #d8c8ff, #bff7d8);
  border-radius: 28px;
  z-index: -1;
  filter: blur(6px);
  opacity: .8;
}
@media (max-width: 980px){
  .hero .hero-photo::before{ display:none; }
}
/* ============================================================
   the theme — bridge CSS for new template-part class names
   Maps .grid / .kicker / .display / .track-grid / .track-card /
   .how-steps / .how-step / .circle / .pill etc. to visual style
   already established for .hero-grid / .eyebrow / .bento / .tile /
   .flow / .flow-step.
============================================================ */

/* Hero — new markup */
.hero .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 28px; }
.hero .grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; width: 100%; }
@media(max-width:880px){ .hero .grid{ grid-template-columns: 1fr; } }
.hero .kicker{ display:inline-flex; align-items:center; gap:10px; background:rgba(255,255,255,.8); backdrop-filter: blur(8px); padding: 9px 16px; border-radius: 999px; font-size:13px; font-weight:600; color: var(--ink-2); box-shadow: var(--shadow-press); margin-bottom: 24px; border: 1.5px solid rgba(255,255,255,.7); }
.hero .kicker .dot{ width:8px; height:8px; border-radius:50%; background: var(--mint-2); display:inline-block; box-shadow: 0 0 0 4px rgba(127,227,168,.25); animation: lc-pulse 1.6s infinite; }
@keyframes lc-pulse{ 0%,100%{ transform: scale(1); } 50%{ transform: scale(1.2); } }
.hero h1.display{ font-size: clamp(40px, 6vw, 72px); font-weight: 800; line-height: 1.04; letter-spacing: -.03em; color: var(--ink); margin: 0; }
.hero h1.display em{ font-style: italic; background: linear-gradient(120deg, var(--peach-2), var(--rose), var(--lilac-2)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero .hero-cta{ margin-top: 32px; display:flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.hero .btn.outline{ background: transparent; color: var(--ink); border: 1.5px solid rgba(42,26,58,.2); }
.hero .btn.outline:hover{ background: rgba(255,255,255,.6); }
.hero .hero-meta{ margin-top: 40px; display:flex; gap: 36px; padding-top: 28px; border-top: 2px dashed rgba(42,26,58,.15); flex-wrap: wrap; }
.hero .hero-meta > div{ display:flex; flex-direction: column; }
.hero .hero-meta b{ font-size: 30px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); line-height: 1; }
.hero .hero-meta span{ font-size: 13px; color: var(--ink-2); margin-top: 4px; }

/* Hero photo — override the previous append for cleaner integration */
.hero .hero-photo{ position: relative; }
.hero .hero-photo img{ width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: 32px; box-shadow: 0 18px 50px rgba(80,40,120,.18); border: 4px solid #fff; }
.hero .hero-photo::before{ content:''; position:absolute; inset: 20px -20px -20px 20px; background: linear-gradient(135deg, var(--peach), var(--lilac), var(--mint)); border-radius: 32px; z-index: -1; filter: blur(4px); opacity: .85; }
@media(max-width:880px){ .hero .hero-photo::before{ display: none; } }

/* Section heads — .badge with .num */
.s-head .badge{ display:inline-flex; align-items:center; gap: 10px; background: rgba(255,255,255,.85); backdrop-filter: blur(8px); padding: 8px 16px 8px 8px; border-radius: 999px; font-size:13px; font-weight:600; color: var(--ink-2); box-shadow: var(--shadow-press); margin-bottom: 22px; border: 1.5px solid rgba(255,255,255,.7); text-transform: none; letter-spacing: 0; }
.s-head .badge .num{ width: 28px; height: 28px; border-radius: 50%; background: var(--ink); color: var(--peach); display:inline-grid; place-items: center; font-family: 'JetBrains Mono', monospace; font-size: 12px; font-weight: 800; }

/* Tracks — .track-grid + .track-card */
.s4-tracks-section, #tracks{ padding: 80px 0; }
.track-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
@media(max-width:980px){ .track-grid{ grid-template-columns: repeat(2, 1fr); } }
@media(max-width:540px){ .track-grid{ grid-template-columns: 1fr; } }
.track-card{ background: #fff; border-radius: 28px; padding: 28px 26px; box-shadow: var(--shadow); border: 2px solid rgba(255,255,255,.9); transition: .3s; display:flex; flex-direction: column; gap: 10px; position: relative; }
.track-card:hover{ transform: translateY(-6px) rotate(-1deg); box-shadow: 0 12px 0 rgba(42,26,58,.12), 0 28px 50px -10px rgba(42,26,58,.25); }
.track-card.big{ grid-column: span 2; background: linear-gradient(160deg, #fff, var(--paper-2)); }
@media(max-width:540px){ .track-card.big{ grid-column: span 1; } }
.track-card .pill{ display:inline-block; padding: 5px 12px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: rgba(42,26,58,.06); color: var(--ink-2); width: fit-content; margin-bottom: 4px; }
.track-card .pill.candy{ background: linear-gradient(135deg, var(--peach-2), var(--rose)); color: var(--ink); }
.track-card h3{ font-size: 22px; font-weight: 800; line-height: 1.15; letter-spacing: -.015em; color: var(--ink); margin: 4px 0 6px; }
.track-card.big h3{ font-size: 28px; }
.track-card p{ font-size: 15px; color: var(--ink-2); line-height: 1.6; margin: 0; }
.track-card.big p{ font-size: 16px; }
.track-card .mono{ font-family: 'JetBrains Mono', monospace; font-size: .92em; background: rgba(42,26,58,.06); padding: 1px 6px; border-radius: 6px; }
.track-card ul{ list-style: none; padding: 0; margin: 12px 0 0; display:flex; flex-direction: column; gap: 8px; }
.track-card ul li{ position: relative; padding-left: 26px; font-size: 14px; color: var(--ink); line-height: 1.5; }
.track-card ul li::before{ content:'✓'; position:absolute; left: 0; top: -2px; width: 20px; height: 20px; background: var(--mint-2); color: var(--ink); border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 800; }

/* How — .how-steps + .how-step */
.how-steps{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; }
@media(max-width:880px){ .how-steps{ grid-template-columns: repeat(2, 1fr); gap: 30px; } }
@media(max-width:520px){ .how-steps{ grid-template-columns: 1fr; } }
.how-step{ padding: 32px 22px; text-align: center; position: relative; }
.how-step .circle{ width: 72px; height: 72px; border-radius: 24px; margin: 0 auto 20px; display: grid; place-items: center; font-family: 'JetBrains Mono', monospace; font-size: 22px; font-weight: 800; color: var(--ink); box-shadow: var(--shadow); transition: .3s; position: relative; z-index: 2; }
.how-step:nth-child(1) .circle{ background: linear-gradient(140deg, var(--peach), var(--peach-2)); }
.how-step:nth-child(2) .circle{ background: linear-gradient(140deg, var(--mint), var(--mint-2)); }
.how-step:nth-child(3) .circle{ background: linear-gradient(140deg, var(--lilac), var(--lilac-2)); }
.how-step:nth-child(4) .circle{ background: linear-gradient(140deg, var(--butter), #ffd86a); }
.how-step:hover .circle{ transform: translateY(-4px) rotate(-6deg); }
.how-step h4{ font-size: 20px; font-weight: 800; letter-spacing: -.01em; color: var(--ink); margin: 0; }
.how-step p{ font-size: 14px; color: var(--ink-2); margin-top: 10px; line-height: 1.55; }
.how-steps::before{ content:''; position: absolute; top: 64px; left: 12.5%; width: 75%; height: 2px; background-image: radial-gradient(circle, var(--ink-mute) 1.5px, transparent 1.5px); background-size: 14px 2px; background-repeat: repeat-x; z-index: 1; }
@media(max-width:880px){ .how-steps::before{ display: none; } }

/* Pricing — fill gaps */
.pricing-page, #start{ padding: 80px 0; }
#start .wrap, #tracks .wrap, #how .wrap, #faq .wrap{ max-width: 1180px; margin: 0 auto; padding: 0 28px; }
.plan .blurb{ min-height: 0; }

/* FAQ — ensure detail/summary works */
.qbox details{ background: #fff; border-radius: 22px; padding: 0; margin-bottom: 12px; box-shadow: var(--shadow-press); border: 2px solid rgba(255,255,255,.9); }
.qbox summary{ list-style: none; cursor: pointer; padding: 20px 24px; padding-right: 56px; font-weight: 700; font-size: 16px; color: var(--ink); position: relative; }
.qbox summary::-webkit-details-marker{ display:none; }
.qbox summary::after{ content: '+'; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 50%; background: var(--peach); color: var(--ink); display:grid; place-items:center; font-weight:800; font-size: 18px; }
.qbox details[open] summary::after{ content: '−'; }
.qbox p{ padding: 0 24px 22px; margin: 0; color: var(--ink-2); font-size: 14px; line-height: 1.65; }
.qbox .mono{ font-family: 'JetBrains Mono', monospace; font-size: .9em; background: rgba(42,26,58,.06); padding: 1px 6px; border-radius: 6px; }

/* Section padding for sections that use a #id container instead of .wrap */
section#tracks > .wrap, section#how > .wrap, section#start > .wrap, section#faq > .wrap{
  padding-top: 0; padding-bottom: 0;
}
section#tracks, section#how, section#start, section#faq{ padding: 88px 0; }

/* Force reveal-elements visible (AOS-style JS not present) */
body .reveal, body .reveal.in{ opacity: 1 !important; transform: none !important; transition: none !important; }

/* ============================================================
   About + Contact pages — the theme
   ============================================================ */
.page-about, .page-contact { padding: 0 !important; max-width: none !important; }
.lc-narrow { max-width: 800px; }

.lc-eyebrow { display: inline-flex; align-items: center; gap: 10px; background: rgba(255,255,255,.8); backdrop-filter: blur(8px); padding: 9px 16px; border-radius: 999px; font-size: 14px; font-weight: 600; color: var(--ink-2); box-shadow: var(--shadow-press); margin-bottom: 24px; border: 1.5px solid rgba(255,255,255,.7); }
.lc-eyebrow .dot { width: 8px; height: 8px; border-radius: 50%; background: linear-gradient(135deg, var(--peach-2), var(--lilac-2)); }
.lc-eyebrow .hand { font-family: "Caveat", cursive; font-weight: 700; font-size: 18px; color: var(--ink); }

/* ---- About hero ---- */
.lc-about-hero { padding: 96px 0 88px; position: relative; }
.lc-about-title { font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: clamp(36px, 5vw, 60px); line-height: 1.05; letter-spacing: -0.025em; color: var(--ink); margin: 0 0 28px; max-width: 880px; font-weight: 800; }
.lc-about-title em { font-style: normal; font-family: "Caveat", cursive; font-weight: 700; color: var(--lilac-2); font-size: 1.05em; letter-spacing: 0; }
.lc-about-lede { font-size: clamp(16px, 1.35vw, 19px); line-height: 1.7; color: var(--ink-2); max-width: 780px; margin: 0 0 56px; }

.lc-about-doodles { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 0; }
.lc-doodle { position: absolute; border-radius: 50%; opacity: .35; filter: blur(60px); }
.lc-doodle-1 { width: 280px; height: 280px; background: var(--peach); top: 60px; right: 10%; }
.lc-doodle-2 { width: 240px; height: 240px; background: var(--lilac); bottom: 40px; left: 5%; }
.lc-doodle-3 { width: 200px; height: 200px; background: var(--mint); top: 50%; right: 35%; }

.lc-about-hero > .wrap { position: relative; z-index: 1; }

.lc-about-pillars { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 8px; }
.lc-pillar { background: #fff; border: 1.5px solid rgba(42,26,58,.08); border-radius: 24px; padding: 32px 28px; box-shadow: var(--shadow-press); transition: transform .25s, box-shadow .25s; position: relative; }
.lc-pillar:hover { transform: translateY(-4px) rotate(-0.5deg); box-shadow: var(--shadow); }
.lc-pillar-peach { background: linear-gradient(135deg, #fff 60%, var(--peach) 100%); }
.lc-pillar-lilac { background: linear-gradient(135deg, #fff 60%, var(--lilac) 100%); }
.lc-pillar-mint { background: linear-gradient(135deg, #fff 60%, var(--mint) 100%); }
.lc-pillar-tag { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: var(--ink); color: var(--paper); border-radius: 14px; font-weight: 800; font-size: 14px; margin-bottom: 18px; box-shadow: var(--shadow-press); transform: rotate(-4deg); }
.lc-pillar h3 { font-size: 22px; font-weight: 700; color: var(--ink); margin: 0 0 12px; letter-spacing: -0.01em; }
.lc-pillar p { font-size: 15px; line-height: 1.65; color: var(--ink-2); margin: 0; }

.lc-about-content { padding: 24px 0 100px; }
.lc-about-content p { font-size: 17px; line-height: 1.75; color: var(--ink-2); }
.lc-about-content h2, .lc-about-content h3 { color: var(--ink); margin-top: 32px; }

/* ---- Contact hero ---- */
.lc-contact-hero { padding: 100px 0; position: relative; }
.lc-contact-grid { display: grid; grid-template-columns: 1fr 1.05fr; gap: 56px; align-items: start; }
.lc-contact-title { font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: clamp(30px, 3.8vw, 46px); line-height: 1.1; letter-spacing: -0.02em; color: var(--ink); margin: 0 0 20px; font-weight: 800; }
.lc-contact-title em { font-style: normal; font-family: "Caveat", cursive; font-weight: 700; color: var(--peach-2); font-size: 1.05em; letter-spacing: 0; }
.lc-contact-lede { font-size: 16px; line-height: 1.65; color: var(--ink-2); margin: 0 0 32px; }

.lc-contact-cards { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 16px; }
.lc-cc-row { display: flex; gap: 16px; align-items: flex-start; padding: 20px 22px; background: #fff; border: 1.5px solid rgba(42,26,58,.08); border-radius: 20px; box-shadow: var(--shadow-press); transition: transform .2s; }
.lc-cc-row:hover { transform: translateY(-2px) rotate(-0.3deg); }
.lc-cc-peach { background: linear-gradient(135deg, #fff 70%, var(--peach) 100%); }
.lc-cc-lilac { background: linear-gradient(135deg, #fff 70%, var(--lilac) 100%); }
.lc-cc-mint { background: linear-gradient(135deg, #fff 70%, var(--mint) 100%); }
.lc-cc-ico { width: 44px; height: 44px; border-radius: 14px; background: var(--ink); color: var(--paper); display: grid; place-items: center; flex-shrink: 0; box-shadow: var(--shadow-press); transform: rotate(-4deg); }
.lc-cc-ico svg { width: 20px; height: 20px; }
.lc-cc-row strong { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em; color: var(--ink); margin-bottom: 4px; font-weight: 700; }
.lc-cc-row a, .lc-cc-row p { color: var(--ink-2); font-size: 15px; line-height: 1.55; margin: 0; text-decoration: none; word-break: break-word; font-weight: 500; }
.lc-cc-row a:hover { color: var(--ink); }

.lc-contact-form-card { background: #fff; border: 1.5px solid rgba(42,26,58,.08); border-radius: 28px; padding: 40px; box-shadow: var(--shadow); }
.lc-contact-form-title { font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: 26px; font-weight: 800; color: var(--ink); margin: 0 0 24px; letter-spacing: -0.015em; }
.lc-contact-form-card label { display: block; font-size: 12px; font-weight: 700; color: var(--ink) !important; margin-bottom: 8px; text-transform: uppercase; letter-spacing: 0.08em; }
.lc-contact-form-card input[type="text"], .lc-contact-form-card input[type="email"], .lc-contact-form-card textarea { width: 100%; padding: 13px 16px; border: 1.5px solid rgba(42,26,58,.12); border-radius: 14px; background: var(--paper); color: var(--ink); font-family: inherit; font-size: 15px; margin-bottom: 18px; transition: border-color .2s, background .2s; }
.lc-contact-form-card input:focus, .lc-contact-form-card textarea:focus { border-color: var(--lilac-2); background: #fff; outline: 0; }
.lc-contact-form-card textarea { min-height: 140px; resize: vertical; }
.lc-contact-form-card input[type="submit"], .lc-contact-form-card button[type="submit"] { background: linear-gradient(135deg, var(--peach-2), var(--rose)); color: var(--ink); border: 0; border-radius: 16px; padding: 14px 30px; font-weight: 800; font-size: 15px; cursor: pointer; transition: transform .15s, box-shadow .2s; font-family: inherit; box-shadow: 0 4px 0 var(--ink), 0 10px 20px -4px rgba(255,184,154,.55); }
.lc-contact-form-card input[type="submit"]:hover, .lc-contact-form-card button[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 6px 0 var(--ink), 0 14px 30px -4px rgba(255,184,154,.7); }
.lc-contact-form-card fieldset { border: 0; padding: 0; margin: 0 0 16px; }
.lc-contact-form-card .wpcf7-not-valid-tip { color: #d44; font-size: 13px; margin-top: -10px; margin-bottom: 12px; }

@media (max-width: 860px) {
  .lc-about-pillars { grid-template-columns: 1fr; }
  .lc-contact-grid { grid-template-columns: 1fr; gap: 32px; }
  .lc-contact-form-card { padding: 28px 22px; }
  .lc-about-hero, .lc-contact-hero { padding: 64px 0; }
}

/* === Hero rating chip (2026-06-04) === */
.lc-hero-rating { display: inline-flex; align-items: center; gap: 10px; padding: 6px 14px; margin-bottom: 18px; border-radius: 999px; background: #fff; border: 1px solid rgba(0,0,0,0.06); box-shadow: 0 4px 14px rgba(0,0,0,0.04); font-size: 13px; }
.lc-hero-rating .hr-stars { color: #f59e0b; font-weight: 700; letter-spacing: 1px; }
.lc-hero-rating .hr-num { color: #0f172a; font-weight: 700; }
.lc-hero-rating .hr-meta { color: rgba(15,23,42,0.55); }

/* === Testimonials — the theme (3-up static grid, soft pastel) === */
.lc-reviews { padding: 96px 0 80px; background: linear-gradient(180deg, #fff 0%, #fff7ed 100%); }
.lc-rev-head { max-width: 720px; margin: 0 auto 56px; text-align: center; }
.lc-rev-head .lc-eyebrow { display: inline-block; padding: 4px 12px; border-radius: 999px; background: rgba(244,114,182,0.12); color: #db2777; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 14px; }
.lc-rev-head .lc-rev-title { font-family: 'DM Serif Display', serif; font-size: clamp(30px, 4vw, 46px); font-weight: 400; color: #0f172a; margin: 0 0 14px; letter-spacing: -0.015em; line-height: 1.15; }
.lc-rev-head .lc-rev-sub { font-size: 16px; color: rgba(15,23,42,0.65); line-height: 1.6; margin: 0; }
.lc-rev-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.lc-rev-card { padding: 28px; border-radius: 20px; background: #fff; border: 1px solid rgba(244,114,182,0.18); box-shadow: 0 8px 24px rgba(244,114,182,0.06); display: flex; flex-direction: column; gap: 16px; transition: transform .25s, box-shadow .25s; }
.lc-rev-card:hover { transform: translateY(-4px); box-shadow: 0 14px 32px rgba(244,114,182,0.12); }
.lc-rev-card .lc-stars { color: #f59e0b; font-size: 14px; letter-spacing: 2px; font-weight: 700; }
.lc-rev-card .lc-quote { font-size: 15px; color: #1e293b; line-height: 1.65; margin: 0; flex: 1; font-style: italic; }
.lc-rev-card .lc-quote::before { content: ""; display: block; width: 28px; height: 22px; margin-bottom: 8px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 22'><path d='M0 22V12C0 5.4 4.4 1 11 0v4C7.2 4.6 4 7.2 4 12h6v10H0zm18 0V12C18 5.4 22.4 1 29 0v4c-3.8.6-7 3.2-7 8h6v10H18z' fill='%23f472b6' opacity='.4'/></svg>") no-repeat; }
.lc-rev-card .lc-author { display: flex; align-items: center; gap: 12px; margin: 0; padding-top: 16px; border-top: 1px solid rgba(244,114,182,0.18); }
.lc-rev-card .lc-avatar { width: 44px; height: 44px; border-radius: 50%; background-size: cover; background-position: center; flex-shrink: 0; border: 2px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
.lc-rev-card .lc-author strong { display: block; font-size: 14px; color: #0f172a; font-weight: 700; }
.lc-rev-card .lc-author small { font-size: 12px; color: rgba(15,23,42,0.55); }
@media (max-width: 960px) {
  .lc-rev-grid { grid-template-columns: repeat(2, 1fr); }
  .lc-reviews { padding: 64px 0 56px; }
}
@media (max-width: 600px) {
  .lc-rev-grid { grid-template-columns: 1fr; }
}

/* === Footer Contact column + Contact-form fixes (2026-06-04) === */
.foot-grid .brand a.brand-link { display: inline-block; padding: 0; text-decoration: none; color: inherit; }
.foot-grid .foot-contact-col p { padding: 4px 0; font-size: 14px; line-height: 1.6; margin: 0; color: rgba(15,23,42,0.78); }
.foot-grid .foot-contact-col p b { color: #0f172a; font-weight: 700; }
.foot-grid .foot-contact-col a { display: inline; padding: 0; color: #db2777; text-decoration: none; }
.foot-grid .foot-contact-col a:hover { text-decoration: underline; }

/* Contact form spacing — First/Last name side-by-side, consistent gap, tel margin */
.lc-contact-form-card .wpcf7 form.contact-form input[type="tel"] { margin-bottom: 16px; }
.lc-contact-form-card .wpcf7 form.contact-form .cf7-row { gap: 0 16px; flex-wrap: nowrap; margin: 0; }
.lc-contact-form-card .wpcf7 form.contact-form .cf7-col { flex: 1 1 0; min-width: 0; }
.lc-contact-form-card .wpcf7 form.contact-form .cf7-row p { margin: 0; }

/* Captcha — single row, matched 46px height */
.lc-contact-form-card .wpcf7 form.contact-form .captcha-cf7-wrap { display: grid; grid-template-columns: 1fr auto auto; column-gap: 10px; row-gap: 6px; align-items: center; margin: 0 0 16px; }
.lc-contact-form-card .wpcf7 form.contact-form .captcha-cf7-wrap > p { grid-column: 1 / -1; margin: 0; }
.lc-contact-form-card .wpcf7 form.contact-form .captcha-cf7-wrap .main-cf7-captcha { grid-column: 1; display: block; margin: 0; }
.lc-contact-form-card .wpcf7 form.contact-form .captcha-cf7-wrap .main-cf7-captcha .wpcf7-form-control-wrap { display: block; }
.lc-contact-form-card .wpcf7 form.contact-form #input-captcha-cf7 { margin: 0; height: 46px; box-sizing: border-box; }
.lc-contact-form-card .wpcf7 form.contact-form .captcha-cf7-wrap .captcha-image-container { grid-column: 2 / span 2; margin: 0; display: inline-flex; align-items: center; gap: 8px; }
.lc-contact-form-card .wpcf7 form.contact-form #captcha-image { height: 46px; width: auto; border: 1px solid #eadcef; border-radius: 8px; display: block; background: #fff; }
.lc-contact-form-card .wpcf7 form.contact-form #reload_captcha { height: 46px; width: 46px; border-radius: 8px; background: #fff; border: 1px solid #eadcef; color: #db2777; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; transition: border-color .2s, color .2s; }
.lc-contact-form-card .wpcf7 form.contact-form #reload_captcha:hover { border-color: #db2777; }
@media (max-width: 540px) {
  .lc-contact-form-card .wpcf7 form.contact-form .cf7-row { flex-wrap: wrap; }
  .lc-contact-form-card .wpcf7 form.contact-form .captcha-cf7-wrap { grid-template-columns: 1fr auto; }
  .lc-contact-form-card .wpcf7 form.contact-form .captcha-cf7-wrap .main-cf7-captcha,
  .lc-contact-form-card .wpcf7 form.contact-form .captcha-cf7-wrap .captcha-image-container { grid-column: 1 / -1; }
}

/* === Contact column color fix (dark footer needs light text) === */
.foot-grid .foot-contact-col p { color: #bfa8d8; }
.foot-grid .foot-contact-col p b { color: #fff; }
.foot-grid .foot-contact-col a { color: var(--peach-2, #f9c8a8); }
.foot-grid .foot-contact-col a:hover { color: #fff; text-decoration: underline; }

/* === Fix: bare `header{position:fixed}` rule was catching the testimonials section heading === */
.lc-reviews header.lc-rev-head { position: static; transform: none; width: auto; left: auto; max-width: 720px; z-index: auto; }

/* === Fix: menu-link rule was overriding CTA button padding/display === */
.foot-grid .brand a.btn { display: inline-flex; align-items: center; justify-content: center; padding: 12px 22px; gap: 6px; }
.foot-grid .brand a.btn.candy { background: linear-gradient(135deg, var(--peach-2), var(--lilac-2)); color: #fff; border-radius: 999px; font-family: inherit; font-weight: 700; font-size: 14px; box-shadow: 0 4px 14px rgba(244,114,182,0.25); transition: transform .2s, box-shadow .2s; }
.foot-grid .brand a.btn.candy:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(244,114,182,0.35); color: #fff; text-decoration: none; }

/* === Fix: italic <em> with background-clip:text was clipping the trailing glyph (e.g. "the") === */
.hero h1.display em {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  padding-right: 0.18em;
}

/* === Auth + Unsubscribe + Policy pages — the theme (2026-06-04) === */

.page-template-page-login main.wrap,
.page-template-page-forgot-password main.wrap,
.page-template-page-change-password main.wrap,
.page-template-page-unsubscribe main.wrap {
  display: flex; justify-content: center; align-items: center;
  padding: 80px 24px; min-height: calc(100vh - 360px);
}

.page-template-page-login main.wrap > div,
.page-template-page-login main.wrap > .valdemade-login-form,
.page-template-page-forgot-password main.wrap > div,
.page-template-page-change-password main.wrap > div,
.page-template-page-unsubscribe main.wrap > div {
  width: 100%; max-width: 460px;
  background: #fff; border: 1px solid rgba(244,114,182,0.18);
  border-radius: 20px; padding: 40px 36px;
  box-shadow: 0 12px 40px rgba(244,114,182,.12);
}

.valdemade-login-title, .crm-forgot-password-title, .crm-change-password-title { display: none !important; }

.page-template-page-login main.wrap > div::before,
.page-template-page-forgot-password main.wrap > div::before,
.page-template-page-change-password main.wrap > div::before,
.page-template-page-unsubscribe main.wrap > div::before {
  display: block; font-family: 'DM Serif Display', serif;
  font-size: 30px; font-weight: 400; color: #0f172a;
  margin: 0 0 22px; letter-spacing: -0.015em; line-height: 1.15;
}
.page-template-page-login main.wrap > div::before { content: "Welcome back"; }
.page-template-page-forgot-password main.wrap > div::before { content: "Forgot password?"; }
.page-template-page-change-password main.wrap > div::before { content: "Change password"; }
.page-template-page-unsubscribe main.wrap > div::before { content: "Unsubscribe"; }

.page-template-page-login main label,
.page-template-page-forgot-password main label,
.page-template-page-change-password main label,
.page-template-page-unsubscribe main label {
  display: block !important; color: rgba(15,23,42,0.7) !important;
  font-size: 13px !important; font-weight: 600 !important;
  margin: 0 0 6px !important;
}

.page-template-page-login main input[type="text"],
.page-template-page-login main input[type="email"],
.page-template-page-login main input[type="password"],
.page-template-page-forgot-password main input[type="text"],
.page-template-page-forgot-password main input[type="email"],
.page-template-page-change-password main input[type="password"],
.page-template-page-unsubscribe main input[type="text"],
.page-template-page-unsubscribe main input[type="email"] {
  width: 100% !important; padding: 12px 14px !important; height: auto !important;
  background: #fff !important; color: #0f172a !important;
  border: 1px solid #eadcef !important; border-radius: 12px !important;
  font-family: inherit !important; font-size: 14.5px !important;
  margin: 0 0 18px !important; box-shadow: none !important;
}
.page-template-page-login main input:focus,
.page-template-page-forgot-password main input:focus,
.page-template-page-change-password main input:focus,
.page-template-page-unsubscribe main input:focus { border-color: #db2777 !important; outline: 0 !important; }

.page-template-page-login main input[type="submit"],
.page-template-page-login main button[type="submit"],
.page-template-page-forgot-password main input[type="submit"],
.page-template-page-forgot-password main button[type="submit"],
.page-template-page-change-password main input[type="submit"],
.page-template-page-change-password main button[type="submit"],
.page-template-page-unsubscribe main input[type="submit"],
.page-template-page-unsubscribe main button[type="submit"] {
  width: 100% !important; padding: 13px 24px !important;
  background: linear-gradient(135deg, #ffb89a, #f9c8a8 50%, #b8a0ff) !important;
  color: #fff !important; border: 0 !important; border-radius: 999px !important;
  font-family: inherit !important; font-weight: 700 !important; font-size: 15px !important;
  cursor: pointer !important; box-shadow: 0 8px 22px rgba(244,114,182,.25) !important; transition: transform .15s, box-shadow .2s;
}
.page-template-page-login main input[type="submit"]:hover,
.page-template-page-login main button[type="submit"]:hover,
.page-template-page-forgot-password main input[type="submit"]:hover,
.page-template-page-forgot-password main button[type="submit"]:hover,
.page-template-page-change-password main input[type="submit"]:hover,
.page-template-page-change-password main button[type="submit"]:hover,
.page-template-page-unsubscribe main input[type="submit"]:hover,
.page-template-page-unsubscribe main button[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(244,114,182,.35) !important; }

.page-template-page-login main input[type="checkbox"] {
  appearance: none; -webkit-appearance: none;
  width: 16px !important; height: 16px !important;
  border: 1.5px solid #eadcef; border-radius: 5px;
  background: #fff; cursor: pointer; vertical-align: middle;
  margin: 0 8px 0 0 !important; position: relative;
}
.page-template-page-login main input[type="checkbox"]:checked { background: linear-gradient(135deg, #ffb89a, #f9c8a8 50%, #b8a0ff); border-color: transparent; }
.page-template-page-login main input[type="checkbox"]:checked::after {
  content: ""; position: absolute; left: 4px; top: 1px;
  width: 4px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg);
}

.page-template-page-login main a { color: #db2777 !important; text-decoration: none !important; font-size: 13px; }
.page-template-page-login main a:hover { text-decoration: underline !important; }

/* Policy pages */
.page-template-page-privacy-policy main.wrap,
.page-template-page-cookie main.wrap,
.page-template-page-toc main.wrap,
.page-template-page-subs-terms main.wrap {
  max-width: 860px; margin: 0 auto; padding: 80px 24px 96px;
}
.page-template-page-privacy-policy main h1,
.page-template-page-cookie main h1,
.page-template-page-toc main h1,
.page-template-page-subs-terms main h1 {
  font-family: 'DM Serif Display', serif;
  font-size: clamp(32px, 4vw, 46px); font-weight: 400;
  color: #0f172a; line-height: 1.15; letter-spacing: -0.015em; margin: 0 0 32px;
}
.page-template-page-privacy-policy main h2, .page-template-page-privacy-policy main h3,
.page-template-page-cookie main h2, .page-template-page-cookie main h3,
.page-template-page-toc main h2, .page-template-page-toc main h3,
.page-template-page-subs-terms main h2, .page-template-page-subs-terms main h3 {
  color: #0f172a !important; font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 18px !important; font-weight: 700; line-height: 1.35;
  margin: 32px 0 12px !important;
}
.page-template-page-privacy-policy main p, .page-template-page-privacy-policy main li,
.page-template-page-cookie main p, .page-template-page-cookie main li,
.page-template-page-toc main p, .page-template-page-toc main li,
.page-template-page-subs-terms main p, .page-template-page-subs-terms main li {
  color: rgba(15,23,42,0.78) !important; font-size: 15px !important; line-height: 1.7 !important;
  margin: 0 0 12px !important;
}
.page-template-page-privacy-policy main a, .page-template-page-cookie main a,
.page-template-page-toc main a, .page-template-page-subs-terms main a { color: #db2777 !important; }
.page-template-page-privacy-policy main ul, .page-template-page-privacy-policy main ol,
.page-template-page-cookie main ul, .page-template-page-cookie main ol,
.page-template-page-toc main ul, .page-template-page-toc main ol,
.page-template-page-subs-terms main ul, .page-template-page-subs-terms main ol { padding-left: 22px; margin: 0 0 18px; }

@media (max-width: 540px) {
  .page-template-page-login main.wrap > div,
  .page-template-page-forgot-password main.wrap > div,
  .page-template-page-change-password main.wrap > div,
  .page-template-page-unsubscribe main.wrap > div { padding: 28px 22px; }
}

/* === Auth/Unsub selector fixes — the theme === */
.page-template-page-login main.wrap,
.page-template-page-forgot-password main.wrap,
.page-template-page-change-password main.wrap,
.page-template-page-unsubscribe main.wrap {
  display: flex; justify-content: center; align-items: flex-start;
  padding: 80px 24px; min-height: calc(100vh - 360px);
}
.page-template-page-login .entry.auth,
.page-template-page-forgot-password .entry.auth,
.page-template-page-change-password .entry.auth,
.page-template-page-unsubscribe .entry.auth { width: 100%; max-width: 460px; }

.page-template-page-login .valdemade-login-form,
.page-template-page-forgot-password .crm-forgot-password-form,
.page-template-page-change-password .crm-change-password-form,
.page-template-page-unsubscribe .unsubscribe-form-container,
.page-template-page-unsubscribe form.wpcf7-form {
  width: 100%; max-width: 460px; margin: 0 auto;
  background: #fff !important; border: 1px solid rgba(244,114,182,0.18) !important;
  border-radius: 20px !important; padding: 40px 36px !important;
  box-shadow: 0 12px 40px rgba(244,114,182,.12) !important;
  color: #0f172a !important;
}

.page-template-page-login .valdemade-login-form::before,
.page-template-page-forgot-password .crm-forgot-password-form::before,
.page-template-page-change-password .crm-change-password-form::before {
  display: block; content: "Welcome back";
  font-family: 'DM Serif Display', serif; font-size: 30px; font-weight: 400;
  color: #0f172a; margin: 0 0 22px; letter-spacing: -0.015em; line-height: 1.15;
}
.page-template-page-forgot-password .crm-forgot-password-form::before { content: "Forgot password?"; }
.page-template-page-change-password .crm-change-password-form::before { content: "Change password"; }

.page-template-page-unsubscribe form.wpcf7-form::before {
  display: block; content: "Unsubscribe";
  font-family: 'DM Serif Display', serif; font-size: 30px; font-weight: 400;
  color: #0f172a; margin: 0 0 22px; letter-spacing: -0.015em; line-height: 1.15;
}

.page-template-page-unsubscribe .entry-header,
.page-template-page-unsubscribe .page-header { display: none !important; }

.valdemade-field-group { margin: 0 0 14px !important; }

.page-template-page-login .login-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 4px 0 18px; }
.page-template-page-login .login-actions .form-input-wrapper label.inline { display: inline-flex !important; align-items: center; gap: 8px; font-size: 13px !important; color: #0f172a !important; margin: 0 !important; }
.page-template-page-login .forgot-password-link, .page-template-page-login a[href*="forgot"] { color: #db2777 !important; font-size: 13px !important; text-decoration: none !important; }

/* === Unsubscribe — kill nested-card + duplicate h1 (2026-06-04) === */
.page-template-page-unsubscribe section.entry > h1 { display: none !important; }
.page-template-page-unsubscribe form.wpcf7-form {
  background: transparent !important; border: 0 !important;
  border-radius: 0 !important; padding: 0 !important;
  box-shadow: none !important; backdrop-filter: none !important;
}
.page-template-page-unsubscribe form.wpcf7-form::before { display: none !important; }
.page-template-page-unsubscribe form.wpcf7-form::after { display: none !important; }
.page-template-page-unsubscribe .unsubscribe-form-container::before {
  display: block; content: "Unsubscribe";
  margin: 0 0 22px;
}
.page-template-page-unsubscribe form.wpcf7-form fieldset.hidden-fields-container { border: 0; padding: 0; margin: 0; min-width: 0; }
.page-template-page-unsubscribe form.wpcf7-form p { margin: 0 0 16px !important; }
.page-template-page-unsubscribe form.wpcf7-form label { display: block; }
.page-template-page-unsubscribe form.wpcf7-form label br { display: none; }

/* === Unsubscribe container::before title typography (the theme) === */
.page-template-page-unsubscribe .unsubscribe-form-container::before {
  font-family: 'DM Serif Display', serif !important;
  font-size: 30px !important; font-weight: 400 !important;
  color: #0f172a !important; line-height: 1.15 !important;
  letter-spacing: -0.015em !important;
}

/* === Cookie banner — the theme === */
.cookie-banner { position: fixed; left: 20px; right: 20px; bottom: 28px; z-index: 200; background: #fff; border: 1px solid rgba(244,114,182,0.18); border-radius: 20px; box-shadow: 0 16px 44px rgba(244,114,182,.18); max-width: 720px; margin: 0 auto; }
.cookie-banner[hidden] { display: none !important; }
.cookie-banner__inner { display: flex; align-items: center; gap: 20px; padding: 18px 22px; }
.cookie-banner p { margin: 0; font-family: 'Plus Jakarta Sans', sans-serif; font-size: 14px; line-height: 1.55; color: rgba(15,23,42,0.78); flex: 1; }
.cookie-banner p a { color: #db2777; text-decoration: none; font-weight: 700; }
.cookie-banner p a:hover { text-decoration: underline; }
.cookie-banner__actions { display: flex; gap: 10px; flex-shrink: 0; }
.cookie-banner .btn { padding: 9px 18px !important; border-radius: 999px !important; font-family: inherit !important; font-size: 13px !important; font-weight: 700 !important; cursor: pointer !important; border: 0 !important; transition: transform .15s, box-shadow .2s; }
.cookie-banner .cookie-decline { background: transparent !important; color: #4b3b6b !important; border: 1px solid #eadcef !important; }
.cookie-banner .cookie-decline:hover { background: #faf3f8 !important; }
.cookie-banner .cookie-accept { background: linear-gradient(135deg, #ffb89a, #f9c8a8 50%, #b8a0ff) !important; color: #fff !important; box-shadow: 0 6px 16px rgba(244,114,182,.25) !important; }
.cookie-banner .cookie-accept:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(244,114,182,.35) !important; }
@media (max-width: 640px) {
  .cookie-banner__inner { flex-direction: column; align-items: stretch; }
  .cookie-banner__actions { justify-content: flex-end; }
}

/* === Mobile nav (hamburger + drawer) — added for Valdemade mobile navigation === */
.lc-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;padding:0;margin-left:6px;background:transparent;border:1.5px solid rgba(0,0,0,.14);border-radius:14px;cursor:pointer;flex:0 0 auto}
.lc-burger span{display:block;width:22px;height:2.5px;border-radius:3px;background:var(--ink);margin:0 auto;transition:.25s}
.lc-burger.is-open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.lc-burger.is-open span:nth-child(2){opacity:0}
.lc-burger.is-open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.lc-mobile-drawer{display:none}
.lc-mobile-drawer.is-open{display:block;position:fixed;top:86px;left:16px;right:16px;z-index:49;background:var(--paper);border:1.5px solid rgba(0,0,0,.08);border-radius:24px;box-shadow:var(--shadow);padding:14px}
.lc-mobile-drawer .lc-drawer-nav{display:flex;flex-direction:column;gap:4px}
.lc-mobile-drawer .lc-drawer-nav a{display:flex;align-items:center;min-height:48px;padding:10px 16px;border-radius:14px;font-weight:600;font-size:16px;color:var(--ink);text-decoration:none}
.lc-mobile-drawer .lc-drawer-nav a:hover,.lc-mobile-drawer .lc-drawer-nav a.active{background:var(--paper-2);color:var(--ink)}
.lc-mobile-drawer .lc-drawer-cta{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;border-top:1.5px solid rgba(0,0,0,.08)}
.lc-mobile-drawer .lc-drawer-cta .btn{width:100%;justify-content:center;min-height:48px}
@media(max-width:780px){.lc-burger{display:flex}}
@media(min-width:781px){.lc-mobile-drawer{display:none!important}}
