:root{
  --teal:#3B9B9B; --teal-dark:#2D7A7A; --yellow:#FBBF24; --yellow-dark:#D4A017;
  --red:#C0432F; --ink:#1f2630; --muted:#5a6675; --line:#e2e8f0; --bg:#ffffff; --bg-soft:#f7fafc;
  --head:'League Spartan',sans-serif; --body:'Libre Franklin',sans-serif;
  --wrap:1080px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);font-size:15px;color:var(--ink);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--teal-dark)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 1.25rem}
h1,h2,h3{font-family:var(--head);line-height:1.05;margin:0}
.btn{display:inline-block;font-family:var(--body);font-weight:700;text-decoration:none;border-radius:10px;
     padding:.8rem 1.5rem;background:var(--yellow);color:var(--teal-dark);box-shadow:0 3px 0 var(--yellow-dark);
     transition:transform .12s, box-shadow .12s}
.btn:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--yellow-dark)}
.btn.ghost{background:transparent;color:var(--teal-dark);box-shadow:none;border:2px solid var(--teal)}

/* header */
header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);
            border-bottom:2px solid var(--line)}
.site .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;padding-bottom:.75rem}
.site .mark{font-family:var(--head);font-weight:800;font-size:1.2rem;color:var(--ink);text-decoration:none;letter-spacing:-.5px}
.site nav a{font-weight:600;text-decoration:none;color:var(--muted);margin-left:1.1rem;font-size:.95rem}
.site nav a:hover{color:var(--red)}
.site .book{margin-left:1.1rem;background:var(--red);color:#fff;box-shadow:0 3px 0 #93291a}
.site .book:hover{box-shadow:0 4px 0 #93291a;color:#fff}
@media(max-width:640px){.site nav .lk{display:none}}

/* hero */
.hero{text-align:center;padding:2.5rem 0 1rem}
.hero img.portrait{width:360px;max-width:72%;height:auto;display:block;margin:0 auto .2rem}
.hero h1{font-size:clamp(2.5rem,10vw,5.25rem);font-weight:700;letter-spacing:-2px}
.hl{color:var(--red)}
.hero .name{font-family:var(--head);font-weight:700;font-size:clamp(1.4rem,5vw,2.5rem);margin-top:.1rem;letter-spacing:-1px}
.hero .roles{font-family:var(--head);font-weight:700;color:var(--teal-dark);font-size:clamp(1rem,3vw,1.5rem);letter-spacing:0;margin-top:.05rem}
.hero .cta{margin-top:1.4rem}

/* video */
.video{padding:1.5rem 0 2.5rem}
.video .frame{position:relative;width:100%;max-width:960px;margin:0 auto;aspect-ratio:16/9;border-radius:14px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.12)}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ytfacade{position:absolute;inset:0;background-size:cover;background-position:center;cursor:pointer;display:flex;align-items:center;justify-content:center}
.ytfacade::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.10)}
.ytplay{position:relative;z-index:1;width:78px;height:78px;padding-left:5px;border-radius:50%;background:rgba(193,67,47,.92);color:#fff;font-size:1.7rem;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(0,0,0,.35);transition:transform .12s}
.ytfacade:hover .ytplay{transform:scale(1.08)}
.video .cap{text-align:center;color:var(--muted);margin-top:.8rem;font-size:.95rem}

/* section scaffolding */
section.block{padding:2.5rem 0;border-top:1px solid var(--line)}
.bar{font-family:var(--head);font-weight:600;font-size:1.85rem;letter-spacing:-.5px;
     display:inline-block;padding:.35rem .9rem;border-radius:8px;margin-bottom:1.4rem}
.bar.teal{background:var(--teal);color:#fff}
.bar.yellow{background:var(--yellow);color:var(--ink)}
.bar.red{background:var(--red);color:#fff}
.lead{color:var(--muted);max-width:60ch;margin:-.6rem 0 1.6rem}

/* cards */
.cards{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{border:1px solid var(--line);border-radius:14px;padding:1.25rem;background:var(--bg);display:flex;flex-direction:column;gap:.5rem}
.card .ttl{font-family:var(--head);font-weight:700;font-size:1.2rem}
.card .meta{font-size:.8rem;color:var(--teal-dark);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.card p{margin:.1rem 0;color:var(--muted);font-size:.9rem}
.card .cta{margin-top:auto;padding-top:.6rem}
.card .cta a{font-family:var(--body);font-weight:700;text-decoration:none}
.ready{display:inline-block;font-size:.72rem;font-weight:700;color:#197d4e;background:#e7f6ee;border-radius:20px;padding:.12rem .6rem}
.soon{display:inline-block;font-size:.72rem;font-weight:700;color:#8a6d00;background:#fdf3d6;border-radius:20px;padding:.12rem .6rem}

/* animal art / placeholders */
.art{width:100%;height:120px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:var(--bg-soft);margin-bottom:.4rem}
.art img{max-height:108px;max-width:100%}
.art.ph{border:2px dashed var(--line);color:var(--muted);font-size:.85rem;font-style:italic;flex-direction:column;gap:.2rem}
.art.ph .em{font-size:1.6rem;font-style:normal}

/* proof strip */
.proof{display:flex;flex-wrap:wrap;gap:.6rem}
.pill{border:1px solid var(--line);border-radius:30px;padding:.5rem 1rem;font-size:.9rem;color:var(--ink);background:var(--bg-soft)}
.pill b{color:var(--teal-dark)}

/* about (homepage) */
.about-grid{display:grid;gap:1.2rem;grid-template-columns:1.3fr 1fr}
@media(max-width:720px){.about-grid{grid-template-columns:1fr}}
.exp{columns:2;column-gap:1.4rem;margin:.4rem 0 0;padding:0;list-style:none}
.exp li{break-inside:avoid;padding:.18rem 0 .18rem 1.1rem;position:relative;color:var(--ink)}
.exp li::before{content:"";position:absolute;left:0;top:.72rem;width:7px;height:7px;border-radius:50%;background:var(--teal)}

/* landing / prose pages */
.page{padding:2.2rem 0 3rem}
.page .kicker{font-family:var(--head);font-weight:700;color:var(--teal-dark);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;margin:.8rem 0 .4rem}
.page h1{font-size:clamp(2.2rem,7vw,3.4rem);font-weight:700;letter-spacing:-1.5px;margin-bottom:.6rem}
.backlink{font-family:var(--head);font-weight:700;text-decoration:none;font-size:.9rem;color:var(--muted)}
.backlink:hover{color:var(--red)}
.prose{max-width:68ch}
.prose p{margin:0 0 1.1rem}
.prose h2{font-family:var(--head);font-weight:700;font-size:1.45rem;letter-spacing:-.5px;margin:2rem 0 .5rem}
.prose ul{padding-left:1.2rem;margin:0 0 1.1rem}
.prose li{margin:.3rem 0}
.figure{float:right;max-width:220px;margin:.3rem 0 1rem 1.5rem}
.figure img{width:100%;border-radius:10px}
@media(max-width:640px){.figure{float:none;max-width:60%;margin:0 auto 1rem;display:block}}
.pullquote{border-left:4px solid var(--red);margin:1.5rem 0;padding:.2rem 0 .2rem 1.2rem;font-family:var(--head);font-weight:600;font-size:1.35rem;line-height:1.3;color:var(--ink)}
.pullquote cite{display:block;font-family:var(--body);font-weight:600;font-style:normal;font-size:.85rem;color:var(--muted);margin-top:.6rem}

footer{border-top:2px solid var(--line);padding:2rem 0;color:var(--muted);font-size:.9rem;text-align:center}
footer a{font-weight:600}

/* Kit (ConvertKit) subscribe form — match site design */
.formkit-form[data-uid="240c97e9cb"]{max-width:520px !important;margin:0 auto}
.formkit-form[data-uid="240c97e9cb"][min-width~="700"] [data-style="clean"],
.formkit-form[data-uid="240c97e9cb"][min-width~="800"] [data-style="clean"]{padding-top:10px !important}
.formkit-form[data-uid="240c97e9cb"] .formkit-submit{box-shadow:0 3px 0 var(--yellow-dark);transition:transform .12s,box-shadow .12s}
.formkit-form[data-uid="240c97e9cb"] .formkit-submit:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--yellow-dark)}
.formkit-form[data-uid="240c97e9cb"] .formkit-submit:hover > span{background-color:transparent !important}
.formkit-form[data-uid="240c97e9cb"] .formkit-input:focus{border-color:var(--teal) !important}
