/* Freebie squeeze pages (/get/<slug>/, src/get.njk) and their thank-you pages (/get/<slug>/thanks/, src/get-thanks.njk) in the
   homepage-S design language (pt1102 phase 5). Loaded only on those 210 pages, after style-lite.css + hs-chrome.css; every rule is
   scoped by body.pt-get (set in base.njk). CSS only: no markup inside main changed. Email-first: the form, its fields, the honeypot,
   the consent text and site.js are untouched; there is no file link on these pages. The preview images are opaque white pages,
   so they sit on the cream hero panel without any edge showing. No "less-than" characters in this file (it is inlined in head). */

body.pt-get{--pt-r:24px;--pt-r-sm:14px;--pt-soft:#46504A;--pt-err:#A3402B;--pt-err-bg:#FCF1EE;--gutter:var(--hs-gut);
  --fern:var(--g);--evergreen:var(--g2);--muted:var(--mute);--paper:#fff;--linen:var(--cream);--mint:var(--gl);
  background:#fff}
body.pt-get main{font-size:16px;line-height:1.6;color:var(--ink)}

/* ---------- one gutter: content edges line up with the header logo / search and the footer ---------- */
body.pt-get main .wrap{max-width:calc(var(--wrap) + 2 * var(--hs-gut))!important;padding-left:var(--hs-gut)!important;padding-right:var(--hs-gut)!important}
body.pt-get main h1,body.pt-get main h2{font-family:var(--hs-serif);font-weight:500;letter-spacing:-.02em;color:var(--ink)}
body.pt-get main .eyebrow{color:var(--g);font-size:12px;font-weight:600;letter-spacing:.14em}
body.pt-get main a{color:var(--g);text-decoration-thickness:1px;text-underline-offset:.2em}
body.pt-get main a:hover{color:var(--g2)}
body.pt-get main [id]{scroll-margin-top:96px}
@media (max-width:900px){body.pt-get main [id]{scroll-margin-top:16px}}

/* ---------- hero: white page, one calm cream panel (copy + form left, the real first page right) ---------- */
body.pt-get .get-hero,body.pt-get .get-hero[class*=theme-]{background:#fff;padding:clamp(18px,2.4vw,32px) 0 0;overflow:visible;isolation:auto}
body.pt-get .get-hero .glow{display:none}
body.pt-get main .crumbs ol{font-size:13px;color:var(--mute);margin:0 0 20px;gap:6px;line-height:20px}
body.pt-get main .crumbs li{line-height:20px}
body.pt-get main .crumbs li+li::before{content:"/";margin-right:6px;opacity:.45}
body.pt-get main .crumbs a{color:var(--mute);text-decoration:none}
body.pt-get main .crumbs a:hover{color:var(--g);text-decoration:underline}
body.pt-get .optin.hero{margin:0;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:center;gap:clamp(32px,5vw,72px);
  padding:clamp(36px,5vw,72px) clamp(32px,5.5vw,80px);background:var(--cream)!important;border:1px solid var(--line);border-radius:28px;box-shadow:none;overflow:hidden}
body.pt-get .optin.hero::before,body.pt-get .optin.hero::after{display:none}
body.pt-get .optin-copy{max-width:640px;min-width:0}
body.pt-get .optin .chip{display:inline-flex;align-items:center;gap:8px;min-height:0;margin:0;padding:5px 12px 5px 6px;background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:none;font-size:13px;font-weight:600;line-height:20px;color:var(--g)}
body.pt-get .optin .chip .dot{width:22px;height:22px;background:var(--gl);color:var(--g);font-size:11px}
body.pt-get .optin.hero h1{font-size:clamp(2.1rem,1.2rem + 2.6vw,3.5rem);line-height:1.06;margin:22px 0 16px;text-wrap:balance}
body.pt-get .optin .lede{font-size:clamp(17px,1.35vw,19px);line-height:1.55;color:var(--pt-soft);margin:0 0 28px;max-width:34em}
body.pt-get .optin .lede strong{color:var(--ink);font-weight:600}

/* ---------- the form: visible label, a 56px field and a 56px green button ---------- */
html body.pt-get .get-form{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch;max-width:560px;margin:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none}
html body.pt-get .get-form:focus-within{outline:none;box-shadow:none}
body.pt-get .get-form label.sr-only{position:static;width:auto;height:auto;margin:0 0 -2px;padding:0;overflow:visible;clip:auto;white-space:normal;flex:1 1 100%;font-size:14px;font-weight:600;line-height:20px;color:var(--ink)}
html body.pt-get .get-form :is(input[type=email],input.optin-name){flex:10 1 260px;width:auto;min-width:0;min-height:56px;margin:0;padding:0 18px;background:#fff;border:1.5px solid #CFC7BA;border-radius:14px;box-shadow:none;font-size:16px;color:var(--ink);text-align:left;transition:border-color .15s,box-shadow .15s}
html body.pt-get .get-form :is(input[type=email],input.optin-name):hover{border-color:#B5AC9E}
html body.pt-get .get-form :is(input[type=email],input.optin-name):focus{outline:none;border-color:var(--g);box-shadow:0 0 0 4px rgba(30,91,67,.16)}
html body.pt-get .get-form :is(input[type=email],input.optin-name):user-invalid{border-color:var(--pt-err);box-shadow:0 0 0 4px rgba(163,64,43,.12)}
html body.pt-get .get-form :is(input[type=email],input.optin-name)::placeholder{color:#7A827D}
html body.pt-get .get-form .btn{flex:1 0 auto;max-width:100%;min-height:56px;padding:0 26px!important;border:1.5px solid var(--g)!important;border-radius:999px;background:var(--g)!important;color:#fff!important;font-size:16px!important;font-weight:600;letter-spacing:0;white-space:normal;text-align:center;line-height:1.25;box-shadow:none!important;transition:background-color .15s,border-color .15s}
html body.pt-get .get-form .btn:hover{background:var(--g2)!important;border-color:var(--g2)!important}
html body.pt-get .get-form .btn:focus-visible{outline:3px solid var(--g);outline-offset:3px;border-radius:999px}
/* submitting (site.js disables the button until /hb/subscribe answers): a quiet spinner, same size */
html body.pt-get .get-form .btn:disabled{background:var(--g)!important;border-color:var(--g)!important;opacity:.78;cursor:progress;gap:10px}
html body.pt-get .get-form .btn:disabled::after{content:"";flex:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:pt-get-spin .8s linear infinite}
@keyframes pt-get-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){html body.pt-get .get-form .btn:disabled::after{animation-duration:2.4s}}
/* error line (?error=email, or the message site.js writes after a refused address) */
body.pt-get .optin-msg{max-width:560px;margin:12px 0 0;padding:10px 14px 10px 40px;position:relative;background:var(--pt-err-bg);border:1px solid #F0D3CB;border-radius:12px;color:var(--pt-err);font-size:14.5px;font-weight:600;line-height:1.45}
body.pt-get .optin-msg::before{content:"!";position:absolute;left:12px;top:11px;width:18px;height:18px;border-radius:50%;background:var(--pt-err);color:#fff;font-size:12px;font-weight:700;line-height:18px;text-align:center}
body.pt-get .optin-msg:empty,body.pt-get .optin-msg[hidden]{display:none}
body.pt-get .optin .small{font-size:13px;line-height:1.6;color:var(--mute);max-width:560px}
body.pt-get .optin .optin-consent{margin:14px 0 0}

/* ---------- the freebie preview: the real first page, upright, hairline + soft shadow ---------- */
body.pt-get .optin-visual{display:flex;justify-content:center;align-items:center;min-width:0}
body.pt-get .optin-visual img{display:block;width:100%;max-width:360px;height:auto;margin:0;transform:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 1px 2px rgba(28,36,32,.05),0 24px 48px -24px rgba(28,36,32,.28)}

/* ---------- tips: three numbered cards ---------- */
body.pt-get main .section.get-tips{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(64px,8vw,112px)}
body.pt-get .get-tips h2{font-size:clamp(1.75rem,2.7vw,2.4rem);line-height:1.12;margin:0 0 clamp(20px,2.4vw,28px);max-width:22em;text-wrap:balance}
body.pt-get .get-tiplist{counter-reset:tip;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
body.pt-get .get-tiplist li{counter-increment:tip;position:relative;margin:0;padding:24px 24px 26px;background:#fff;border:1px solid var(--line);border-radius:20px;font-size:16px;line-height:1.6;color:var(--pt-soft)}
body.pt-get .get-tiplist li::before{content:counter(tip);display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0 0 16px;border-radius:50%;background:var(--gl);color:var(--g);font-family:var(--hs-serif);font-size:17px;font-weight:600;line-height:1}
body.pt-get .get-tips>.small{margin:24px 0 0;font-size:14px;color:var(--mute)}
body.pt-get .get-tips>.small a{display:inline-flex;align-items:center;min-height:44px;font-weight:600}

/* ---------- thank-you page: the same panel, a check-your-inbox state ---------- */
body.pt-get .get-thanks .chip .dot{background:var(--g);color:#fff}
body.pt-get .get-thanks .optin-visual img{max-width:320px}
body.pt-get .get-unsent{margin:0 0 20px;padding:12px 16px;background:#FFF7E8;border:1px solid #F1DFB8;border-radius:12px;font-size:15px;line-height:1.55;color:#5C4415}
body.pt-get .get-unsent[hidden]{display:none}
body.pt-get .get-resend{margin:0 0 20px;max-width:560px;background:#fff;border:1px solid var(--line);border-radius:16px}
body.pt-get .get-resend summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 18px;cursor:pointer;list-style:none;font-size:15px;font-weight:600;color:var(--ink);border-radius:16px}
body.pt-get .get-resend summary::-webkit-details-marker{display:none}
body.pt-get .get-resend summary::after{content:"";width:8px;height:8px;margin:-4px 2px 0 auto;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .15s}
body.pt-get .get-resend[open] summary::after{transform:rotate(-135deg);margin-top:4px}
body.pt-get .get-resend summary:hover{color:var(--g)}
html body.pt-get .get-resend .get-form{padding:0 18px 18px}
html body.pt-get .get-resend .get-form .btn{background:#fff!important;color:var(--g)!important;border-color:var(--gm)!important}
html body.pt-get .get-resend .get-form .btn:hover{background:var(--gl)!important;border-color:var(--gm)!important}
html body.pt-get .get-resend .get-form .btn:disabled{background:var(--gl)!important}
html body.pt-get .get-resend .get-form .btn:disabled::after{border-color:rgba(30,91,67,.3);border-top-color:var(--g)}
body.pt-get .get-resend .optin-msg{margin:0 18px 18px}
body.pt-get .get-thanks .optin-copy>.small{margin:0}

/* ---------- while you wait: homepage section head, shop cards, the free tool as a cream card ---------- */
body.pt-get main .section.get-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:clamp(64px,8vw,112px);padding-bottom:clamp(64px,8vw,112px)}
body.pt-get .get-offers>.section-head,body.pt-get .get-offers>.get-coupon{grid-column:1/-1;margin:0}
body.pt-get .get-offers>.section-head{margin-bottom:clamp(4px,1vw,8px)}
body.pt-get .get-offers .section-head h2{font-size:clamp(1.75rem,2.7vw,2.4rem);line-height:1.1;margin:.2em 0 0;padding:0}
body.pt-get .get-offers .section-head h2 em{font-style:italic;color:var(--g)}
body.pt-get .get-offers .section-head .eyebrow{margin:0}
body.pt-get .get-offers>.grid-3{display:contents}
body.pt-get .get-coupon{padding:14px 18px;background:var(--gl);border:1px dashed var(--gm);border-radius:14px;font-size:15px}
body.pt-get .product-card{display:flex;flex-direction:column;margin:0;padding:8px 8px 18px;border:1px solid var(--line);border-radius:20px;box-shadow:none;background:#fff;transform:none;transition:border-color .2s}
body.pt-get .product-card:hover{border-color:var(--gm);box-shadow:none;transform:none}
body.pt-get .product-card:hover .thumb img{transform:none}
body.pt-get .product-card .thumb{border-radius:var(--pt-r-sm);margin-bottom:16px}
body.pt-get .product-card .body{padding:0 10px;display:flex;flex-direction:column;flex:1}
body.pt-get .product-card .card-format{align-self:flex-start;background:var(--gl);color:var(--g);font-size:11px;font-weight:600;letter-spacing:.12em}
body.pt-get .product-card .h3{font-family:inherit;font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.01em;margin:10px 0 6px}
body.pt-get .product-card .h3 a{color:var(--ink);text-decoration:none}
body.pt-get .product-card .body>p:not(.card-format):not(.small){color:var(--mute);font-size:14px;line-height:1.55;margin:0 0 18px}
body.pt-get .product-card .price-row{margin-top:auto;font-size:16px;font-weight:650;color:var(--ink);padding-top:14px;border-top:1px solid var(--line2)}
body.pt-get .product-card .price{font-size:16px;font-weight:650;color:var(--ink)}
body.pt-get .product-card .price s{color:var(--mute);font-weight:500;font-size:14px;margin-left:2px}
body.pt-get .product-card .badge{box-shadow:none;font-weight:600}
body.pt-get .product-card .price-row.pr-amz{justify-content:space-between;flex-wrap:nowrap}
body.pt-get .product-card .price-row.pr-amz .card-actions{flex-basis:auto}
body.pt-get .product-card .aff-paid{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--mute)}
body.pt-get .card-buy{background:var(--g);border-color:var(--g);color:#fff;font-weight:600;box-shadow:none}
body.pt-get .card-buy:hover{background:var(--g2);border-color:var(--g2);color:#fff}
body.pt-get .card-add{border-color:var(--line)}
body.pt-get .card-add:hover{border-color:var(--g)}
body.pt-get .get-tool{display:flex;flex-direction:column;justify-content:center;margin:0;padding:clamp(24px,3vw,36px);background:var(--cream);border:1px solid var(--line);border-radius:20px}
body.pt-get .get-tool .eyebrow{margin:0 0 8px}
body.pt-get .get-tool h3{font-family:var(--hs-serif);font-size:clamp(1.35rem,1.8vw,1.6rem);font-weight:500;line-height:1.2;letter-spacing:-.015em;margin:0 0 8px}
body.pt-get .get-tool h3 a{display:inline-block;padding:10px 0;margin:-10px 0;color:var(--ink);text-decoration:none}
body.pt-get .get-tool h3 a::after{content:" \2192";color:var(--g)}
body.pt-get .get-tool h3 a:hover{color:var(--g)}
body.pt-get .get-tool p:last-child{margin:0;color:var(--pt-soft);font-size:15px;line-height:1.6}
/* three cards: three columns, the free tool a full-width strip under them. Two cards (most freebies): two wide cards with the
   picture beside the text, tool strip under them. One card: the wide card over two columns, the tool card beside it. */
body.pt-get .get-offers .get-tool{grid-column:1/-1;padding:24px 28px}
body.pt-get main .section.get-offers:has(.grid-3>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
body.pt-get .get-offers:not(:has(.grid-3>:nth-child(3))) .product-card{flex-direction:row;align-items:stretch;padding:8px}
body.pt-get .get-offers:not(:has(.grid-3>:nth-child(3))) .product-card .thumb{flex:0 0 46%;align-self:flex-start;margin:0}
body.pt-get .get-offers:not(:has(.grid-3>:nth-child(3))) .product-card .body{padding:14px 12px 10px 22px}
body.pt-get .get-offers:not(:has(.grid-3>:nth-child(2))) .product-card{grid-column:span 2}
body.pt-get .get-offers:not(:has(.grid-3>:nth-child(2))) .get-tool{grid-column:auto;padding:clamp(24px,3vw,36px)}

/* ---------- tablet ---------- */
@media (max-width:1100px){
  body.pt-get .optin.hero{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);padding:48px 44px}
  body.pt-get .get-tiplist li{padding:22px 20px 22px}
}
@media (max-width:1100px){
  body.pt-get .get-offers:has(.grid-3>:nth-child(2):last-child) .product-card{flex-direction:column;padding:8px 8px 18px}
  body.pt-get .get-offers:has(.grid-3>:nth-child(2):last-child) .product-card .thumb{flex:none;align-self:auto;margin-bottom:16px}
  body.pt-get .get-offers:has(.grid-3>:nth-child(2):last-child) .product-card .body{padding:0 10px}
}
@media (max-width:900px){
  body.pt-get main .section.get-offers,body.pt-get main .section.get-offers:has(.grid-3>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
  body.pt-get .get-offers:not(:has(.grid-3>:nth-child(2))) .product-card{grid-column:1/-1}
  body.pt-get .get-offers:not(:has(.grid-3>:nth-child(2))) .get-tool{grid-column:1/-1}
}

/* ---------- phones: one column; the form comes before the preview ---------- */
@media (max-width:820px){
  body.pt-get .optin.hero{grid-template-columns:minmax(0,1fr);gap:32px;padding:28px 22px 32px;border-radius:24px}
  body.pt-get .optin-copy{max-width:none}
  body.pt-get .optin-visual{display:flex}
  body.pt-get .optin-visual img{max-width:260px}
  body.pt-get .get-thanks .optin-visual{display:none}
  body.pt-get .get-tiplist{grid-template-columns:minmax(0,1fr);gap:12px}
  body.pt-get .get-tiplist li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;padding:18px 18px 20px;border-radius:18px}
  body.pt-get .get-tiplist li::before{margin:0}
}
@media (max-width:600px){
  body.pt-get main .crumbs ol{margin-bottom:14px}
  body.pt-get .optin.hero{padding:24px 18px 28px;border-radius:22px}
  body.pt-get .optin .chip{font-size:12.5px}
  body.pt-get .optin.hero h1{font-size:clamp(1.85rem,7.6vw,2.2rem);line-height:1.1;margin:16px 0 12px}
  body.pt-get .optin .lede{font-size:16.5px;margin-bottom:20px}
  html body.pt-get .get-form :is(input[type=email],input.optin-name){flex-basis:100%}
  html body.pt-get .get-form :is(input[type=email],input.optin-name){min-height:54px}
  html body.pt-get .get-form .btn{width:100%;min-height:54px;white-space:normal;text-align:center;line-height:1.25;padding:0 18px!important}
  body.pt-get .get-resend summary{padding:0 16px}
  html body.pt-get .get-resend .get-form{padding:0 16px 16px}
  body.pt-get main .section.get-offers,body.pt-get main .section.get-offers:has(.grid-3>:nth-child(2):last-child){grid-template-columns:minmax(0,1fr);gap:16px}
  body.pt-get .get-offers .get-tool,body.pt-get .get-offers:not(:has(.grid-3>:nth-child(2))) :is(.get-tool,.product-card){grid-column:1/-1}
  body.pt-get .get-offers:not(:has(.grid-3>:nth-child(3))) .product-card{flex-direction:column;padding:8px 8px 18px}
  body.pt-get .get-offers:not(:has(.grid-3>:nth-child(3))) .product-card .thumb{flex:none;align-self:auto;margin-bottom:16px}
  body.pt-get .get-offers:not(:has(.grid-3>:nth-child(3))) .product-card .body{padding:0 10px}
}

/* name1103: first-name field (optional) sits beside the email field on wide screens */
html body.pt-get .get-form input.optin-name{flex:4 1 150px}

/* ---------- games-pack alignment pass (Nov 12): styling only ---------- */
/* the squeeze form: fields and label sit on the same left edge as the headline (a shared .capture-form rule was adding an inset) */
html body.pt-get .optin-copy>.get-form{padding:0!important;border:0!important}
html body.pt-get .optin-copy>.get-form label.sr-only{margin:0 0 -4px}
/* thank-you upsell card: image left, copy right, button sized to its text; stacks and centres on phones */
html body.pt-get .get-upsell-card{flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;gap:clamp(20px,3vw,40px)!important;padding:clamp(16px,2.4vw,28px)!important}
html body.pt-get .get-upsell-card>img{flex:0 0 clamp(240px,32%,380px)!important;width:clamp(240px,32%,380px)!important;max-width:100%!important;height:auto!important;aspect-ratio:5/4;object-fit:cover;border:1px solid var(--line)}
html body.pt-get .get-upsell-card>div{flex:1 1 0!important;min-width:0;text-align:left}
body.pt-get .get-upsell-card .h3{margin:0 0 8px;font-size:clamp(20px,2vw,26px);line-height:1.25}
body.pt-get .get-upsell-card p{margin:0 0 12px;max-width:44em}
body.pt-get .get-upsell-card p.price{font-size:17px;font-weight:600;color:var(--ink)}
body.pt-get .get-upsell-card p.price .price{font-size:inherit}
body.pt-get .get-upsell-card p:last-child{margin-bottom:0}
html body.pt-get .get-upsell-card .btn{display:inline-flex;align-items:center;justify-content:center;width:auto!important;min-width:min(100%,220px);min-height:52px}
@media (max-width:700px){
  html body.pt-get .get-upsell-card{flex-direction:column!important;align-items:stretch!important}
  html body.pt-get .get-upsell-card>img{flex:none!important;width:100%!important}
  html body.pt-get .get-upsell-card .btn{display:flex;width:100%!important}
}
/* "Free PDF ... Get it by email · All free printables": wraps as whole items, never an orphaned dot */
body.pt-get .get-tips>.small{display:flex;flex-wrap:wrap;align-items:center;column-gap:.6em;row-gap:0}
/* "You may also like": five cards sit in one even row on desktop (no lone fifth card); the club preview is a portrait page, so show it whole */
@media (min-width:1100px){body.pt-get .ymal-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (min-width:700px) and (max-width:1099px){
  body.pt-get .ymal-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  body.pt-get .ymal-grid>*{grid-column:span 2}
  body.pt-get .ymal-grid>:nth-child(4):nth-last-child(2){grid-column:2/4}
  body.pt-get .ymal-grid>:nth-child(5):nth-last-child(1){grid-column:4/6}
}
body.pt-get .ymal-grid .pc-club .thumb img{object-fit:contain;background:var(--cream)}
