:root{--white:#fff;--blush:#ffe4e4;--red:#d4032d;--pink:#f80388;--plum:#474057;--mint:#6cb;--teal:#008f99;--mustard:#dda408;--blue:#0036d4;--stitch:#c9c2cf;--font-display:"Fraunces",Georgia,serif;--font-body:"Karla","Segoe UI",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}body{background:var(--white);color:var(--plum);font-family:var(--font-body);font-size:1.05rem;line-height:1.65}a{color:var(--red)}.wrap{max-width:1060px;margin:0 auto;padding:0 1.25rem}.card,.site-header,.stitch-line{--dash:repeating-linear-gradient(90deg,var(--stitch) 0 10px,transparent 10px 18px)}.site-header{padding:1.4rem 0;background:var(--white);border-bottom:2px dashed var(--stitch)}.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-family:var(--font-display);font-weight:700;font-size:1.25rem;color:var(--plum);text-decoration:none;letter-spacing:.01em}.brand em{color:var(--red);font-style:italic}.nav-links{display:flex;gap:1.4rem;font-size:.95rem}.nav-links a{text-decoration:none;color:var(--plum);font-weight:500}.nav-links a:focus-visible,.nav-links a:hover{color:var(--red)}.hex-strip{display:flex;justify-content:center;gap:6px;padding:1.6rem 0 .4rem;flex-wrap:wrap}.hex{width:34px;height:38px;-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.hex:nth-child(6n+1){background:var(--red)}.hex:nth-child(6n+2){background:var(--mint)}.hex:nth-child(6n+3){background:var(--blush)}.hex:nth-child(6n+4){background:var(--mustard)}.hex:nth-child(6n+5){background:var(--teal)}.hex:nth-child(6n+6){background:var(--pink)}.hero{text-align:center;padding:2.4rem 0 3rem}.hero h1{font-family:var(--font-display);font-size:clamp(2.1rem,5.5vw,3.4rem);font-weight:600;line-height:1.15;max-width:21ch;margin:.8rem auto 1rem;color:var(--plum)}.hero h1 em{font-style:italic;color:var(--red)}.hero p{max-width:52ch;margin:0 auto 1.8rem;color:#5c5566}.btn{display:inline-block;background:var(--red);color:var(--white);text-decoration:none;font-weight:700;padding:.85rem 1.9rem;border-radius:999px;border:none;font-size:1rem;transition:background .2s ease}.btn:focus-visible,.btn:hover{background:var(--pink);color:var(--white)}.courses{padding:3rem 0 4rem;border-top:2px dashed var(--stitch)}.courses h2{font-family:var(--font-display);font-size:1.8rem;font-weight:600;margin-bottom:.4rem;color:var(--plum)}.courses .lede{color:#5c5566;margin-bottom:2rem}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));grid-gap:1.4rem;gap:1.4rem}.card{background:var(--white);border:2px dashed var(--stitch);border-radius:14px;padding:1.6rem 1.5rem 1.7rem;display:flex;flex-direction:column;gap:.7rem;transition:border-color .2s ease}.card:hover{border-color:var(--red)}.card .tag{align-self:flex-start;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.25rem .7rem;border-radius:999px;background:var(--mint);color:#0d4a40}.card .tag.favourite,.card .tag.soon{background:var(--blush);color:var(--red)}.card h3{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--plum)}.card p{font-size:.97rem;color:#5c5566;flex-grow:1}.card .card-link{font-weight:700;text-decoration:none;color:var(--red)}.card .card-link:focus-visible,.card .card-link:hover{color:var(--pink)}.site-footer{border-top:2px dashed var(--stitch);padding:2rem 0 2.6rem;text-align:center;font-size:.9rem;color:#5c5566;background:var(--blush)}.site-footer a{color:var(--red)}:focus-visible{outline:3px solid var(--teal);outline-offset:2px}.card-note{font-weight:600;font-size:.95rem;color:#8a8494}.auth-wrap{max-width:440px;padding-top:3rem;padding-bottom:4rem}.auth-wrap h1{font-family:var(--font-display);font-size:1.8rem;font-weight:600;margin-bottom:1.2rem;text-align:center}.auth-card{border:2px dashed var(--stitch);border-radius:14px;padding:1.6rem 1.5rem;display:flex;flex-direction:column;gap:.55rem;background:var(--white)}.auth-card label{font-weight:700;font-size:.9rem}.auth-card input{padding:.7rem .9rem;border:1.5px solid var(--stitch);border-radius:8px;font-size:1rem;font-family:var(--font-body);color:var(--plum)}.auth-card input:focus{outline:3px solid var(--teal);outline-offset:1px}.auth-card .btn{margin-top:.6rem;cursor:pointer}.auth-message{font-size:.92rem;color:var(--teal);font-weight:600}.auth-switch{display:flex;flex-direction:column;gap:.2rem;margin-top:.4rem}.auth-switch button,.link-button{background:none;border:none;color:var(--red);font-weight:600;font-size:.92rem;cursor:pointer;font-family:var(--font-body);padding:.15rem 0}.auth-switch button:hover,.link-button:hover{color:var(--pink)}.sales{max-width:720px;padding-top:2.6rem;padding-bottom:4rem}.eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:.8rem;font-weight:700;color:var(--teal);margin-bottom:.5rem}.learn h1,.sales h1{font-family:var(--font-display);font-size:clamp(1.9rem,4.5vw,2.6rem);font-weight:600;line-height:1.18;margin-bottom:1rem}.learn h1 em,.sales h1 em{font-style:italic;color:var(--red)}.sales-lead{font-size:1.2rem;font-weight:600;color:var(--plum)}.sales p,.sales-lead{margin-bottom:.9rem}.includes{border:2px dashed var(--stitch);border-radius:14px;padding:1.4rem 1.5rem;margin:1.6rem 0;background:snow}.includes h2{font-family:var(--font-display);font-size:1.25rem;margin-bottom:.7rem}.includes ul{padding-left:1.2rem;display:flex;flex-direction:column;gap:.45rem}.sales-cta{text-align:center;margin-top:2rem}.cta-note{margin-top:.8rem;font-size:.95rem}.learn{max-width:780px;padding-top:2.6rem;padding-bottom:4rem}.learn-note{text-align:center;padding:2.5rem 0}.learn-note h1{margin-bottom:.6rem}.learn-note .btn{margin-top:.8rem}.learn-welcome{margin-bottom:1.4rem;color:#5c5566}.video-frame{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:2px dashed var(--stitch);background:#000}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.downloads{margin-top:2rem;border:2px dashed var(--stitch);border-radius:14px;padding:1.4rem 1.5rem;background:snow}.downloads h2{font-family:var(--font-display);font-size:1.25rem;margin-bottom:.6rem}.downloads p{margin-bottom:1rem}.downloads .btn{cursor:pointer}.fineprint{margin-top:.8rem;font-size:.85rem;color:#8a8494}