/* GENERATED by build-css.sh from design-system/tokens.css + design-system/td.css. Edit those, not this file. */
/* Top Dog Web tokens, generated from tokens.json */
:root{
  --dark-blue:#203783;
  --mid-blue:#4BA4E0;
  --light-blue:#7DD4F1;
  --pattern-blue:#6CCBEF;
  --pattern-mid:#439CDA;
  --pale-blue:#DDF2FB;
  --purple:#8463C2;
  --purple-tint:#EFEAF8;
  --yellow:#F4CC3C;
  --yellow-tint:#FFF6D6;
  --red:#E93C53;
  --green:#177A4C;
  --green-tint:#E6F4EC;
  --ink:var(--dark-blue);
  --muted:#5D6EA0;
  --paper:#FFFFFF;
  --line:#DCE8F6;
  --placeholder:#A9B6D2;
  --navy-shadow:#16265C;
  --hover-tint:#F5FBFE;
  --pale-blue-pressed:#CDEBF8;
  --wrap-max:580px;
  --gutter:18px;
  --card-pad-x:20px;
  --card-pad-y:24px;
  --stack:18px;
  --gap-tight:10px;
  --gap-list:12px;
  --section-end:40px;
  --r-sm:8px;
  --r-icon:10px;
  --r-md:12px;
  --r-hero:16px;
  --r-lg:20px;
  --r-xl:28px;
  --shadow-card:0 2px 4px rgba(32,55,131,0.05), 0 10px 30px rgba(32,55,131,0.10);
  --shadow-plan:0 2px 4px rgba(32,55,131,0.06), 0 12px 32px rgba(32,55,131,0.14);
  --shadow-float:0 12px 30px rgba(32,55,131,0.22);
  --shadow-hero-btn:0 6px 0 #16265C, 0 10px 20px rgba(32,55,131,0.22);
  --shadow-banner:0 4px 14px rgba(32,55,131,0.25);
  --font-sans:stolzl, Nunito, system-ui, -apple-system, 'Segoe UI', sans-serif;
}
/* Top Dog Web components. Every class is prefixed td- so it can sit inside WordPress without clashing. */
.td-page{font-family:var(--font-sans, stolzl, Nunito, system-ui, -apple-system, 'Segoe UI', sans-serif);color:var(--ink, #203783);background:var(--paper, #FFFFFF);font-size:17px;line-height:1.5}
.td-page *,.td-page *::before,.td-page *::after{box-sizing:border-box}
.td-page :focus-visible{outline:3px solid var(--mid-blue, #4BA4E0);outline-offset:2px}
.td-wrap{max-width:var(--wrap-max, 580px);margin:0 auto;padding-inline:var(--gutter, 18px)}

/* Sticky banner */
.td-banner{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;background:var(--dark-blue, #203783);color:#fff;text-decoration:none;font-family:var(--font-sans, stolzl, Nunito, system-ui, -apple-system, 'Segoe UI', sans-serif);font-size:clamp(14px,4.1vw,18px);font-weight:800;letter-spacing:.01em;padding:14px 12px;line-height:1.4}
.td-banner__join{background:#fff;color:var(--dark-blue, #203783);border-radius:var(--r-sm, 8px);padding:8px 14px}
.td-banner:hover .td-banner__join{background:var(--pale-blue, #DDF2FB)}
.td-banner.is-scrolled{box-shadow:var(--shadow-banner, 0 4px 14px rgba(32,55,131,0.25))}

/* Hero header */
.td-hero{background:var(--light-blue, #7DD4F1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='520' viewBox='0 0 640 520'%3E%3Cg fill='%236CCBEF'%3E%3Cpath d='M54 62 L108 78 L70 122 Z'/%3E%3Crect x='468' y='34' width='40' height='40' rx='10' transform='rotate(21 488 54)'/%3E%3Crect x='118' y='338' width='26' height='26' rx='7' transform='rotate(-13 131 351)'/%3E%3Cpath d='M548 292 L596 312 L556 352 Z'/%3E%3Cpath d='M372 236 L402 246 L380 274 Z'/%3E%3C/g%3E%3Cg fill='none' stroke='%236CCBEF' stroke-width='6' stroke-linecap='round'%3E%3Cpath d='M236 118 q11 -12 22 0 t22 0 t22 0'/%3E%3Cpath d='M318 434 q10 -11 20 0 t20 0'/%3E%3C/g%3E%3C/svg%3E") center/640px 520px repeat;padding-block:20px 22px;text-align:center}
.td-hero__logo{width:164px;margin:0 auto 16px;display:block}
.td-hero h1{font-family:var(--font-sans, stolzl, Nunito, system-ui, -apple-system, 'Segoe UI', sans-serif);font-size:clamp(26px,6.9vw,34px);font-weight:800;line-height:1.14;text-wrap:balance;color:var(--dark-blue, #203783);margin:0}
.td-squiggle{display:block;width:158px;height:16px;margin:12px auto 0}
.td-hero--slim{padding-block:16px 14px}
.td-hero--slim .td-hero__logo{width:150px;margin-bottom:0}

/* Card */
.td-card{background:var(--paper, #FFFFFF);border-radius:var(--r-xl, 28px);padding:var(--card-pad-y, 24px) var(--card-pad-x, 20px);box-shadow:var(--shadow-card, 0 2px 4px rgba(32,55,131,0.05), 0 10px 30px rgba(32,55,131,0.10))}

/* Eyebrow, nudge */
.td-eyebrow{display:inline-block;background:var(--yellow, #F4CC3C);color:var(--dark-blue, #203783);font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;border-radius:var(--r-sm, 8px)}
.td-qnum{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--dark-blue, #203783);margin-bottom:7px}
.td-nudge{display:block;text-align:center;background:var(--yellow, #F4CC3C);color:var(--dark-blue, #203783);font-weight:800;font-size:16px;border-radius:var(--r-md, 12px);padding:10px 14px}

/* Buttons */
.td-btn{display:block;width:100%;border:0;cursor:pointer;font-family:var(--font-sans, stolzl, Nunito, system-ui, -apple-system, 'Segoe UI', sans-serif);font-size:17px;font-weight:800;padding:16px 18px;border-radius:var(--r-md, 12px);background:var(--dark-blue, #203783);color:#fff;text-align:center;text-decoration:none;transition:filter .12s ease}
.td-btn:hover{filter:brightness(1.12)}
.td-btn + .td-btn{margin-top:10px}
.td-btn--outline{background:transparent;color:var(--dark-blue, #203783);box-shadow:inset 0 0 0 2px var(--dark-blue, #203783)}
.td-btn--yellow{background:var(--yellow, #F4CC3C);color:var(--dark-blue, #203783)}
.td-btn--white{background:#fff;color:var(--dark-blue, #203783)}
.td-btn--ghost-white{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.td-btn--youtube{background:var(--red, #E93C53)}
.td-btn[disabled]{opacity:.45;cursor:not-allowed}
.td-btn--hero{font-size:clamp(23px,6.6vw,27px);padding:22px 18px;border-radius:var(--r-hero, 16px);box-shadow:var(--shadow-hero-btn, 0 6px 0 #16265C, 0 10px 20px rgba(32,55,131,0.22));animation:td-settle-hero .45s ease-out .15s 1 backwards}
.td-btn--hero:active{transform:translateY(3px);box-shadow:0 3px 0 var(--navy-shadow, #16265C)}
@keyframes td-settle-hero{from{transform:translateY(5px);opacity:.55}to{transform:none;opacity:1}}
.td-back{display:block;margin:18px auto 0;background:var(--pale-blue, #DDF2FB);border:0;border-radius:var(--r-md, 12px);cursor:pointer;font-family:var(--font-sans, stolzl, Nunito, system-ui, -apple-system, 'Segoe UI', sans-serif);font-size:15px;font-weight:700;color:var(--dark-blue, #203783);padding:10px 26px}
.td-back:hover{background:var(--pale-blue-pressed, #CDEBF8)}

/* Ticks */
.td-ticks{list-style:none;margin:0;padding:0;display:grid;gap:var(--gap-list, 12px)}
.td-ticks li{display:flex;gap:11px;align-items:flex-start;font-size:16px;font-weight:600;color:var(--dark-blue, #203783);line-height:1.35}
.td-ticks img,.td-ticks svg{flex:0 0 auto;width:24px;height:24px;margin-top:-1px}
.td-ticks--panel{background:var(--pale-blue, #DDF2FB);padding:20px 22px 22px;border-radius:var(--r-lg, 20px)}

/* Answer tiles and progress */
.td-opts{display:grid;gap:var(--gap-tight, 10px)}
.td-opt{display:block;width:100%;text-align:left;cursor:pointer;font-family:var(--font-sans, stolzl, Nunito, system-ui, -apple-system, 'Segoe UI', sans-serif);font-size:17px;font-weight:700;color:var(--ink, #203783);background:var(--paper, #FFFFFF);border:2px solid var(--line, #DCE8F6);border-radius:var(--r-md, 12px);padding:15px 16px;transition:border-color .12s ease,background .12s ease}
.td-opt:hover{border-color:var(--mid-blue, #4BA4E0);background:var(--hover-tint, #F5FBFE)}
.td-opt[aria-pressed="true"]{border-color:var(--mid-blue, #4BA4E0);background:var(--pale-blue, #DDF2FB)}
.td-opt small{display:block;font-weight:600;font-size:14px;color:var(--muted, #5D6EA0);margin-top:3px}
.td-opt--right{border-color:var(--dark-blue, #203783);background:var(--pale-blue, #DDF2FB)}
.td-opt--wrong{border-color:var(--red, #E93C53);background:var(--yellow-tint, #FFF6D6)}
.td-progress{height:9px;background:var(--pale-blue, #DDF2FB);border-radius:4px;overflow:hidden}
.td-progress i{display:block;height:100%;background:var(--mid-blue, #4BA4E0);border-radius:4px;transition:width .3s ease}

/* Fields */
.td-label{display:block;font-weight:800;font-size:15px;margin:16px 0 6px;color:var(--dark-blue, #203783)}
.td-input{width:100%;font-family:var(--font-sans, stolzl, Nunito, system-ui, -apple-system, 'Segoe UI', sans-serif);font-size:17px;padding:14px;border:2px solid var(--line, #DCE8F6);border-radius:var(--r-md, 12px);background:var(--paper, #FFFFFF);color:var(--ink, #203783)}
.td-input::placeholder{color:var(--placeholder, #A9B6D2)}
.td-input:focus{outline:none;border-color:var(--mid-blue, #4BA4E0)}
.td-consent{display:flex;gap:11px;align-items:flex-start;margin-top:18px;font-size:14px;color:var(--muted, #5D6EA0);font-weight:600;cursor:pointer}
.td-consent input{margin-top:3px;width:19px;height:19px;flex:0 0 auto;accent-color:var(--mid-blue, #4BA4E0)}
.td-consent a{color:var(--dark-blue, #203783)}
.td-err{color:var(--red, #E93C53);font-size:14px;font-weight:700;margin-top:10px}

/* Plan card */
.td-plan{background:var(--paper, #FFFFFF);border-radius:var(--r-xl, 28px);overflow:hidden;box-shadow:var(--shadow-plan, 0 2px 4px rgba(32,55,131,0.06), 0 12px 32px rgba(32,55,131,0.14))}
.td-plan__head{background:var(--mid-blue, #4BA4E0);color:#fff;text-align:center;padding:18px 20px}
.td-plan__head h3{margin:0;font-size:22px;font-weight:800;line-height:1.2;text-wrap:balance;text-shadow:0 2px 0 rgba(32,55,131,.35)}
.td-plan--purple .td-plan__head{background:var(--purple, #8463C2)}
.td-plan__price{text-align:center;padding:22px 20px 4px;color:var(--dark-blue, #203783)}
.td-plan__amt{font-size:52px;font-weight:800;line-height:1;letter-spacing:-.02em}
.td-plan__amt sup{font-size:24px;vertical-align:top;position:relative;top:6px;margin-right:2px}
.td-plan__per{display:block;font-size:16px;font-weight:600;margin-top:8px}
.td-plan__body{padding:16px 20px 22px}
.td-plan__feat{background:var(--pale-blue, #DDF2FB);padding:20px 22px 22px}
.td-plan--purple .td-plan__feat{background:var(--purple-tint, #EFEAF8)}

/* Code box */
.td-code{background:var(--pale-blue, #DDF2FB);border-radius:var(--r-md, 12px);padding:13px;text-align:center;color:var(--dark-blue, #203783)}
.td-code b{display:block;font-size:23px;letter-spacing:.09em;line-height:1.3;color:var(--purple, #8463C2)}
.td-code span{font-size:13px;font-weight:700}

/* Dark hero block */
.td-dark{background:var(--dark-blue, #203783) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='520' viewBox='0 0 640 520'%3E%3Cg fill='%234BA4E0' fill-opacity='0.4'%3E%3Cpath d='M54 62 L108 78 L70 122 Z'/%3E%3Crect x='468' y='34' width='40' height='40' rx='10' transform='rotate(21 488 54)'/%3E%3Crect x='118' y='338' width='26' height='26' rx='7' transform='rotate(-13 131 351)'/%3E%3Cpath d='M548 292 L596 312 L556 352 Z'/%3E%3Cpath d='M372 236 L402 246 L380 274 Z'/%3E%3C/g%3E%3Cg fill='none' stroke='%234BA4E0' stroke-opacity='0.4' stroke-width='6' stroke-linecap='round'%3E%3Cpath d='M236 118 q11 -12 22 0 t22 0 t22 0'/%3E%3Cpath d='M318 434 q10 -11 20 0 t20 0'/%3E%3C/g%3E%3C/svg%3E") center/640px 520px repeat;color:#fff;border-radius:var(--r-xl, 28px);padding:30px 22px 28px;text-align:center;position:relative;overflow:hidden}
.td-dark > *{position:relative}
.td-dark h3{font-size:28px;font-weight:800;line-height:1.15;margin:14px 0 20px;text-wrap:balance}
.td-dark__sub{font-size:17px;font-weight:700;color:var(--light-blue, #7DD4F1);margin:-8px 0 20px}
.td-dark__alt{display:inline-block;margin-top:14px;color:#fff;font-weight:700;font-size:15px}
.td-light{background:var(--light-blue, #7DD4F1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='520' viewBox='0 0 640 520'%3E%3Cg fill='%236CCBEF'%3E%3Cpath d='M54 62 L108 78 L70 122 Z'/%3E%3Crect x='468' y='34' width='40' height='40' rx='10' transform='rotate(21 488 54)'/%3E%3Crect x='118' y='338' width='26' height='26' rx='7' transform='rotate(-13 131 351)'/%3E%3Cpath d='M548 292 L596 312 L556 352 Z'/%3E%3Cpath d='M372 236 L402 246 L380 274 Z'/%3E%3C/g%3E%3Cg fill='none' stroke='%236CCBEF' stroke-width='6' stroke-linecap='round'%3E%3Cpath d='M236 118 q11 -12 22 0 t22 0 t22 0'/%3E%3Cpath d='M318 434 q10 -11 20 0 t20 0'/%3E%3C/g%3E%3C/svg%3E") center/640px 520px repeat;color:var(--dark-blue, #203783);border-radius:var(--r-xl, 28px);padding:24px 20px}

/* Link tile */
.td-tile{display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--dark-blue, #203783) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='520' viewBox='0 0 640 520'%3E%3Cg fill='%234BA4E0' fill-opacity='0.4'%3E%3Cpath d='M54 62 L108 78 L70 122 Z'/%3E%3Crect x='468' y='34' width='40' height='40' rx='10' transform='rotate(21 488 54)'/%3E%3Crect x='118' y='338' width='26' height='26' rx='7' transform='rotate(-13 131 351)'/%3E%3Cpath d='M548 292 L596 312 L556 352 Z'/%3E%3Cpath d='M372 236 L402 246 L380 274 Z'/%3E%3C/g%3E%3Cg fill='none' stroke='%234BA4E0' stroke-opacity='0.4' stroke-width='6' stroke-linecap='round'%3E%3Cpath d='M236 118 q11 -12 22 0 t22 0 t22 0'/%3E%3Cpath d='M318 434 q10 -11 20 0 t20 0'/%3E%3C/g%3E%3C/svg%3E") center/640px 520px repeat;border-radius:var(--r-xl, 28px);padding:20px 20px 20px 22px;text-decoration:none;color:#fff;position:relative;overflow:hidden}
.td-tile h4{margin:0;font-size:17px;font-weight:800;color:#fff;line-height:1.3}
.td-tile small{display:block;font-size:15px;font-weight:700;color:var(--yellow, #F4CC3C);margin-top:3px}
.td-tile__go{flex:0 0 auto;width:46px;height:46px;border-radius:var(--r-md, 12px);background:var(--yellow, #F4CC3C);display:grid;place-items:center;position:relative;z-index:1}

/* Step card */
.td-steps{display:grid;gap:var(--gap-list, 12px)}
.td-step{display:flex;gap:14px;background:var(--pale-blue, #DDF2FB);border-radius:var(--r-xl, 28px);padding:20px 18px}
.td-step__n{flex:0 0 auto;width:42px;height:42px;border-radius:var(--r-md, 12px);background:var(--yellow, #F4CC3C);color:var(--dark-blue, #203783);font-weight:800;font-size:22px;display:grid;place-items:center}
.td-step__t{flex:1;min-width:0}
.td-step h3{margin:0;font-size:19px;font-weight:800;color:var(--dark-blue, #203783);line-height:1.2}
.td-step p{font-size:15px;font-weight:600;color:var(--muted, #5D6EA0);margin:4px 0 12px}

/* Subjects and meter */
.td-subj{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-tight, 10px)}
.td-subj__t{background:var(--pale-blue, #DDF2FB);border-radius:var(--r-md, 12px);padding:12px;display:flex;align-items:center;gap:10px;font-weight:800;font-size:14px;color:var(--dark-blue, #203783);line-height:1.2}
.td-subj__t span{flex:0 0 auto;width:34px;height:34px;border-radius:var(--r-icon, 10px);display:grid;place-items:center;color:#fff;font-size:12px;font-weight:800}
.td-en{background:var(--mid-blue, #4BA4E0)}.td-ma{background:var(--purple, #8463C2)}.td-vr{background:var(--yellow, #F4CC3C);color:var(--dark-blue, #203783)!important}.td-nvr{background:var(--red, #E93C53)}
.td-meter{background:var(--pale-blue, #DDF2FB);border-radius:var(--r-lg, 20px);padding:16px;display:grid;gap:10px}
.td-meter__r{display:grid;grid-template-columns:118px 1fr;align-items:center;gap:10px;font-size:13px;font-weight:800;color:var(--dark-blue, #203783)}
.td-meter__r i{height:12px;background:#fff;border-radius:6px;overflow:hidden}
.td-meter__r b{display:block;height:100%;border-radius:6px}

/* Reviews */
.td-review{background:var(--pale-blue, #DDF2FB) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='520' viewBox='0 0 640 520'%3E%3Cg fill='%23CDEBF8'%3E%3Cpath d='M54 62 L108 78 L70 122 Z'/%3E%3Crect x='468' y='34' width='40' height='40' rx='10' transform='rotate(21 488 54)'/%3E%3Crect x='118' y='338' width='26' height='26' rx='7' transform='rotate(-13 131 351)'/%3E%3Cpath d='M548 292 L596 312 L556 352 Z'/%3E%3Cpath d='M372 236 L402 246 L380 274 Z'/%3E%3C/g%3E%3Cg fill='none' stroke='%23CDEBF8' stroke-width='6' stroke-linecap='round'%3E%3Cpath d='M236 118 q11 -12 22 0 t22 0 t22 0'/%3E%3Cpath d='M318 434 q10 -11 20 0 t20 0'/%3E%3C/g%3E%3C/svg%3E") center/640px 520px repeat;border-radius:var(--r-lg, 20px);padding:20px 24px 18px;text-align:center}
.td-stars{display:flex;justify-content:center;gap:3px;margin-bottom:10px}
.td-review p{margin:0;font-size:16px;font-weight:600;line-height:1.5;color:var(--dark-blue, #203783)}
.td-review cite{display:block;margin-top:12px;font-style:normal;font-size:14px;font-weight:800;color:var(--dark-blue, #203783)}
.td-review cite span{display:block;font-weight:600;color:var(--muted, #5D6EA0);margin-top:1px}
.td-review--end{background:var(--yellow, #F4CC3C)}
.td-review--end h3{font-size:22px;font-weight:800;color:var(--dark-blue, #203783);line-height:1.2;margin:8px 0}

/* Blue band */
.td-band{background:var(--mid-blue, #4BA4E0) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='520' viewBox='0 0 640 520'%3E%3Cg fill='%23439CDA'%3E%3Cpath d='M54 62 L108 78 L70 122 Z'/%3E%3Crect x='468' y='34' width='40' height='40' rx='10' transform='rotate(21 488 54)'/%3E%3Crect x='118' y='338' width='26' height='26' rx='7' transform='rotate(-13 131 351)'/%3E%3Cpath d='M548 292 L596 312 L556 352 Z'/%3E%3Cpath d='M372 236 L402 246 L380 274 Z'/%3E%3C/g%3E%3Cg fill='none' stroke='%23439CDA' stroke-width='6' stroke-linecap='round'%3E%3Cpath d='M236 118 q11 -12 22 0 t22 0 t22 0'/%3E%3Cpath d='M318 434 q10 -11 20 0 t20 0'/%3E%3C/g%3E%3C/svg%3E") center/640px 520px repeat;padding:34px var(--gutter, 18px)}
.td-band__box{max-width:544px;margin:0 auto;background:var(--paper, #FFFFFF);color:var(--dark-blue, #203783);border-radius:var(--r-xl, 28px);padding:22px 20px;text-align:center;box-shadow:var(--shadow-float, 0 12px 30px rgba(32,55,131,0.22))}
.td-band__box h3{font-size:23px;font-weight:800;margin:10px 0 8px;line-height:1.22;text-wrap:balance}

/* Footer */
.td-footer{background:var(--dark-blue, #203783);color:#fff;text-align:center;padding:24px 18px;font-size:13px;font-weight:600;line-height:1.7}
.td-footer span{opacity:.75}
.td-footer a{color:#fff;opacity:.85}

@media (prefers-reduced-motion:reduce){.td-btn--hero{animation:none}.td-progress i,.td-opt,.td-btn{transition:none}}
