/* GFH Re-inspection Ready Pack page (28 Oct 2026). Every rule is scoped under .gfhr so nothing reaches the rest of the
   site; loaded only on template-reinspection.php. Same tokens, type and devices as business-premium.css so the two pages
   read as one family. Motion lives in reinspection.js and is opt-in: with no JS (or reduced motion) the page is fully
   readable at rest, nothing waits at opacity 0. The theme owns hero/app/faq/btn/eyebrow/chip/phone, so this page uses
   r-hero, r-btn, r-phone and so on. */
.gfhr{
  --leaf:#8CAB3E; --leaf-hover:#82A038; --leaf-deep:#6D8C2C; --leaf-ink:#4E6A1A; --leaf-rev:#9EC94B; --leaf-wash:#EEF3E0;
  --ink:#262523; --paper:#F4F3EE; --white:#FCFCFC; --muted:#4C4A45; --faint:#6E6A61; --line:#E6E5DF; --forest:#262523; /* 30 Oct 2026: was #0C372A (the advert green); the site's dark is ink */
  --on-dark:#D9DED9; --on-dark-soft:#B5B3AA;
  --warn:#8A5A00; --warn-wash:#FBF1DC; --bad:#8A1F17; --bad-wash:#F7E4E1;
  /* the five stages of the plan: one hue each, all with ink text on top (every pair is over 4.5:1 with #262523) */
  --p1:#F2D7A4; --p2:#E9C3B4; --p3:#C9DBA0; --p4:#B9D6D0; --p5:#8CAB3E;
  --display:"Bricolage Grotesque","Public Sans",system-ui,sans-serif;
  --sans:"Public Sans",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --script:system-ui,-apple-system,"Segoe UI","Noto Sans",sans-serif;
  --gutter:clamp(16px,4vw,56px);
  --ease:cubic-bezier(.2,.7,.2,1);
}
.gfhr,.gfhr *{box-sizing:border-box}
.gfhr{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
.gfhr img{max-width:100%;display:block}
.gfhr a{color:var(--leaf-ink)}
.gfhr :focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.gfhr .r-hero :focus-visible,.gfhr .r-how :focus-visible,.gfhr .r-honest :focus-visible{outline-color:var(--leaf-rev)}
.gfhr .wrap{max-width:1240px;margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
.gfhr .wrap>*{min-width:0}
.gfhr section{padding:clamp(64px,9vw,128px) 0}
.gfhr h1,.gfhr h2,.gfhr h3,.gfhr h4{font-family:var(--display);margin:0;font-weight:700;letter-spacing:-.025em;text-wrap:balance}
.gfhr h1{font-size:clamp(2.6rem,5.4vw,4.8rem);line-height:.96;letter-spacing:-.04em;font-weight:800}
.gfhr h2{font-size:clamp(2rem,4.4vw,3.6rem);line-height:1.02;letter-spacing:-.035em}
.gfhr h3{font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.12}
.gfhr p{margin:0 0 1em}
.gfhr .lead{font-size:clamp(1.08rem,1.4vw,1.28rem);line-height:1.5;color:var(--muted);max-width:52ch;margin:22px 0 0}
.gfhr .r-k{margin:0 0 18px;font:600 1rem/1.3 var(--display);color:var(--leaf-ink)}
.gfhr .r-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:0 26px;border-radius:999px;border:0;background:var(--leaf);color:var(--ink);font:700 1.02rem var(--sans);text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}
.gfhr .r-btn:hover{background:var(--leaf-hover)}
.gfhr .r-btn:active{transform:translateY(1px)}
.gfhr .r-btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.gfhr .r-btn-ghost:hover{background:rgba(38,37,35,.06)}
.gfhr .r-btn-price{justify-content:space-between;gap:18px;padding:0 22px 0 24px;min-height:60px}
.gfhr .r-btn-price b{font:800 1.3rem/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.gfhr .r-prices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px;max-width:560px}
.gfhr .cta-note{margin:16px 0 0;font:400 .94rem/1.55 var(--sans);color:var(--muted);max-width:48ch}
.gfhr .example{position:absolute;z-index:4;font:600 .66rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);background:rgba(252,252,252,.94);border:1px solid var(--line);border-radius:999px;padding:5px 9px}

/* ---------- Reveal on scroll (only when the script runs) ---------- */
.gfhr.gfhr-js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.gfhr.gfhr-js .rv.in{opacity:1;transform:none}

/* ================= 1. HERO ================= */
.gfhr .r-hero{position:relative;background:var(--forest);color:var(--white);padding:clamp(48px,7vw,104px) 0 clamp(40px,6vw,88px);overflow:hidden;isolation:isolate}
.gfhr .r-hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(158,201,75,.22),rgba(158,201,75,0) 72%);z-index:-1;pointer-events:none}
.gfhr .r-hero .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,4vw,72px);align-items:center}
.gfhr .r-hero h1{color:var(--white)}
.gfhr .r-hero .lead{color:var(--on-dark);max-width:44ch}
.gfhr .r-hero .cta-note{color:var(--on-dark-soft)}
.gfhr .r-hero .cta-note a{color:var(--white)}
.gfhr .r-hero .r-btn-ghost{color:var(--white);box-shadow:inset 0 0 0 1.5px rgba(252,252,252,.75)}
.gfhr .r-hero .r-btn-ghost:hover{background:rgba(255,255,255,.08)}
.gfhr .r-kicker{margin:0 0 22px;display:flex;align-items:center;gap:12px;font:600 .98rem/1.3 var(--display);color:var(--leaf-rev)}
.gfhr .r-rate{display:inline-flex;gap:4px}
.gfhr .r-rate i{width:30px;height:34px;display:grid;place-items:center;border-radius:7px;background:rgba(252,252,252,.1);border:1px solid rgba(252,252,252,.25);font:800 1.05rem var(--display);font-style:normal;color:var(--white)}
.gfhr .r-rate i:nth-child(2){background:var(--leaf);color:var(--ink);border-color:var(--leaf)}

/* the stage: the inspector's letter with the decoder laid over it */
.gfhr .r-stage{position:relative;padding:0 0 clamp(230px,26vw,300px) 0;min-height:420px}
.gfhr .r-stage-cap{position:relative;z-index:6;margin:0 0 16px;display:inline-flex;align-items:center;gap:10px;background:var(--leaf);color:var(--ink);font:600 .88rem/1.3 var(--display);border-radius:999px;padding:8px 16px 8px 12px;box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.gfhr .r-stage-cap::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--ink);flex:none}
.gfhr .nw{white-space:nowrap}
.gfhr .r-letter{position:relative;background:#fff;color:var(--ink);border-radius:6px 6px 14px 14px;padding:24px 24px 22px;width:min(84%,520px);box-shadow:0 40px 70px -30px rgba(0,0,0,.7);transform:rotate(-1.2deg);transform-origin:top left;font-size:.86rem;line-height:1.45}
.gfhr .r-letter .example{right:12px;top:12px}
.gfhr .r-letter-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid var(--line);padding:0 0 14px}
.gfhr .r-letter-head b{display:block;font:700 1.08rem/1.2 var(--display);letter-spacing:-.015em;margin-bottom:6px;max-width:16ch}
.gfhr .r-letter-head span{display:block;color:var(--muted);font-size:.84rem}
.gfhr .r-letter-rating{text-align:center;flex:none;padding-right:70px}
.gfhr .r-letter-rating small{display:block;font:600 .62rem/1.2 var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--faint);max-width:11ch;margin:0 auto}
.gfhr .r-letter-rating b{display:block;width:58px;height:58px;margin:6px auto;border-radius:10px;background:var(--bad-wash);color:var(--bad);font:800 2.2rem/58px var(--display);letter-spacing:-.04em}
.gfhr .r-letter-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.gfhr .r-letter-list li{padding-left:14px;border-left:3px solid var(--line);color:var(--muted)}
.gfhr .r-letter-list em{display:block;font:600 .68rem/1.3 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--ink);font-style:normal}
.gfhr .r-decoder{position:absolute;right:0;bottom:0;width:min(78%,480px);background:var(--paper);color:var(--ink);border-radius:14px;padding:16px 16px 14px;box-shadow:0 40px 70px -24px rgba(0,0,0,.75);border-top:6px solid var(--leaf);font-size:.78rem;line-height:1.35;z-index:3}
.gfhr .r-decoder .example{right:12px;top:10px}
.gfhr .r-decoder-head{display:flex;gap:10px;align-items:baseline;margin-bottom:10px}
.gfhr .r-decoder-head b{font:700 1rem/1.2 var(--display);letter-spacing:-.015em}
.gfhr .r-decoder-head span{color:var(--muted);font-size:.8rem}
.gfhr .r-decoder-cols,.gfhr .r-decoder-row{display:grid;grid-template-columns:1.1fr 1.3fr 1.1fr .9fr;gap:8px;padding:7px 0;border-top:1px solid var(--line)}
.gfhr .r-decoder-cols{border-top:0;padding-top:0;font:600 .64rem/1.2 var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--faint)}
.gfhr .r-decoder-row span:first-child{font-weight:700}
.gfhr .r-decoder-row span:nth-child(4){color:var(--leaf-ink);font-weight:600}
.gfhr.gfhr-js .r-stage.st-before .r-decoder-row{opacity:0;transform:translateX(12px)}
.gfhr .r-decoder-row{transition:opacity .5s var(--ease),transform .5s var(--ease)}

.gfhr .r-facts{background:var(--ink);color:var(--white);border-bottom:1px solid var(--line)}
.gfhr .r-facts p{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0;padding:16px 0;font:500 .86rem/1.4 var(--display);color:var(--on-dark)}
.gfhr .r-facts span{display:inline-flex;align-items:center;gap:.3em;padding:0 clamp(8px,1vw,14px);white-space:nowrap}
.gfhr .r-facts span+span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--leaf-rev);margin:0 clamp(8px,1vw,14px) 0 0;flex:none}
.gfhr .r-facts span+span{padding-left:0}
.gfhr .r-facts b{color:var(--white);font-weight:700}

/* ================= 2. THE 14 DAYS ================= */
.gfhr .r-days{background:var(--paper)}
.gfhr .r-days-head{max-width:860px}
.gfhr .r-strip{list-style:none;margin:clamp(36px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:4px;counter-reset:day}
.gfhr .r-strip li{aspect-ratio:1/1.15;border-radius:8px;display:grid;place-items:end start;padding:6px;color:var(--ink);min-width:0;position:relative;overflow:hidden}
.gfhr .r-strip li b{font:800 clamp(.8rem,1.6vw,1.3rem)/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.gfhr .r-strip .p1{background:var(--p1)}.gfhr .r-strip .p2{background:var(--p2)}.gfhr .r-strip .p3{background:var(--p3)}.gfhr .r-strip .p4{background:var(--p4)}.gfhr .r-strip .p5{background:var(--p5)}
.gfhr .r-strip li::after{content:"";position:absolute;inset:0;background:var(--paper);opacity:0;transition:opacity .4s var(--ease)}
.gfhr.gfhr-js .r-strip:not(.lit) li::after{opacity:calc(.75 - .75 * var(--lit,0))}
.gfhr .r-stages{list-style:none;margin:clamp(28px,3vw,44px) 0 0;padding:0;position:relative}
.gfhr .r-stages::before{content:"";position:absolute;left:11px;top:0;width:2px;height:100%;background:var(--line);border-radius:2px}
.gfhr .r-stage-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:clamp(20px,3vw,56px);padding:clamp(26px,3vw,40px) 0;align-items:start;border-bottom:1px solid var(--line)}
.gfhr .r-stage-row:last-child{border-bottom:0}
.gfhr .r-stage-when{position:relative;padding-left:40px}
.gfhr .r-stage-dot{position:absolute;left:4px;top:.35em;width:16px;height:16px;border-radius:50%;border:2px solid var(--line);background:var(--paper)}
.gfhr .r-stage-dot.p1{background:var(--p1);border-color:var(--p1)}.gfhr .r-stage-dot.p2{background:var(--p2);border-color:var(--p2)}.gfhr .r-stage-dot.p3{background:var(--p3);border-color:var(--p3)}.gfhr .r-stage-dot.p4{background:var(--p4);border-color:var(--p4)}.gfhr .r-stage-dot.p5{background:var(--p5);border-color:var(--p5)}
.gfhr .r-stage-days{font:800 clamp(1.2rem,1.8vw,1.5rem)/1.1 var(--display);letter-spacing:-.03em;white-space:nowrap}
.gfhr .r-stage-copy{max-width:60ch}
.gfhr .r-stage-copy h3{font-size:clamp(1.3rem,2vw,1.7rem)}
.gfhr .r-stage-copy p{margin:12px 0 0;color:var(--muted);font-size:1.02rem}
.gfhr .r-uses{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.gfhr .r-uses li{font:600 .8rem/1 var(--display);padding:8px 12px;border-radius:999px;background:var(--white);border:1px solid var(--line);color:var(--ink)}
.gfhr .r-uses::before{content:"From the pack";font:600 .8rem/1 var(--display);color:var(--faint);padding:8px 0;align-self:center}
.gfhr .r-after{margin:clamp(24px,3vw,40px) 0 0;padding:20px 22px;border-radius:14px;background:var(--white);border:1px solid var(--line);max-width:70ch;color:var(--muted);font-size:1rem}
.gfhr .r-after b{color:var(--ink)}

/* ================= 3. WHAT'S IN THE PACK ================= */
.gfhr .r-box{background:var(--white);border-top:1px solid var(--line)}
.gfhr .r-box-head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:end}
.gfhr .r-box-head .lead{margin:0}
.gfhr .r-desk{list-style:none;margin:clamp(36px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(16px,2vw,24px)}
.gfhr .r-item{background:var(--paper);border-radius:22px;padding:clamp(18px,2vw,26px);display:flex;flex-direction:column;gap:14px;min-width:0;grid-column:span 2}
.gfhr .r-item-decoder{grid-column:span 4}
.gfhr .r-item-methods{grid-column:span 3}
.gfhr .r-item-posters{grid-column:span 3}
.gfhr .r-item h3{font-size:1.2rem;letter-spacing:-.02em;margin-top:auto}
.gfhr .r-item p{margin:0;color:var(--muted);font-size:.96rem}
.gfhr .r-item p b{color:var(--ink)}
.gfhr .r-art{position:relative;min-height:200px;display:grid;align-content:start}
.gfhr .r-art>.example{right:10px;top:10px}
/* the decoder sheet */
.gfhr .r-sheet{background:#fff;border-radius:10px;padding:18px 18px 14px;box-shadow:0 20px 40px -24px rgba(38,37,35,.45);font-size:.8rem;line-height:1.35}
.gfhr .r-sheet-h b{display:block;font:700 1.05rem/1.2 var(--display);letter-spacing:-.015em}
.gfhr .r-sheet-h span{color:var(--muted);font-size:.8rem}
.gfhr .r-sheet-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.gfhr .r-sheet-tabs span{font:600 .68rem/1 var(--display);padding:6px 9px;border-radius:999px;background:var(--leaf-wash);color:var(--leaf-ink)}
.gfhr .r-sheet-row{display:grid;grid-template-columns:18px 1.2fr 1.3fr 1fr .6fr;gap:8px;padding:8px 0;border-top:1px solid var(--line);align-items:start}
.gfhr .r-sheet-row i{font:700 .72rem/1.4 var(--mono);font-style:normal;color:var(--faint)}
.gfhr .r-sheet-row span:nth-child(2){font-weight:700}
.gfhr .r-sheet-row span:nth-child(5){color:var(--leaf-ink);font-weight:600}
.gfhr .r-sheet-row.blank span{height:1em;border-bottom:1px dashed #B9B6AD;margin-top:.2em}
/* the calendar */
.gfhr .r-cal{background:#fff;border-radius:10px;padding:16px;box-shadow:0 20px 40px -24px rgba(38,37,35,.45)}
.gfhr .r-cal-h{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:10px}
.gfhr .r-cal-h b{font:700 1rem/1.2 var(--display);letter-spacing:-.015em}
.gfhr .r-cal-h span{font-size:.78rem;color:var(--muted)}
.gfhr .r-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.gfhr .r-cal-grid span{aspect-ratio:1;border-radius:6px;display:grid;place-items:center;font:700 .82rem var(--display);background:var(--paper);color:var(--muted);border:1px solid var(--line)}
.gfhr .r-cal-grid span.done{background:var(--leaf-wash);border-color:transparent;color:var(--leaf-ink);text-decoration:line-through}
.gfhr .r-cal-grid span.today{background:var(--ink);color:var(--white);border-color:var(--ink)}
.gfhr .r-cal-grid span.last{background:var(--leaf);border-color:var(--leaf);color:var(--ink)}
.gfhr .r-cal p{margin:12px 0 0;font-size:.82rem;color:var(--ink)}
/* the pack pages */
.gfhr .r-art-pages{min-height:0;aspect-ratio:3/2}
.gfhr .r-art-pages img{position:absolute;width:40%;border-radius:4px;box-shadow:0 20px 40px -20px rgba(38,37,35,.5);border:1px solid var(--line)}
.gfhr .r-art-pages img:first-child{left:4%;top:0;transform:rotate(-4deg)}
.gfhr .r-art-pages img:nth-child(2){left:40%;top:14px;transform:rotate(3deg)}
.gfhr .r-count{position:absolute;right:0;bottom:0;background:var(--ink);color:var(--white);border-radius:12px;padding:12px 16px;font:500 .8rem/1.3 var(--display);display:grid;grid-template-columns:auto auto;gap:2px 8px;align-items:baseline}
.gfhr .r-count b{font:800 1.5rem/1 var(--display);color:var(--leaf-rev)}
/* posters */
.gfhr .r-poster{background:#fff;border-radius:8px;border-top:10px solid var(--leaf);padding:18px 18px 16px;width:min(62%,250px);box-shadow:0 20px 40px -20px rgba(38,37,35,.5);display:grid;gap:4px}
.gfhr .r-poster b{font:800 1.5rem/1 var(--display);letter-spacing:-.03em}
.gfhr .r-poster span{font:700 1rem/1.2 var(--display);color:var(--leaf-ink)}
.gfhr .r-poster small{font-size:.74rem;color:var(--muted);line-height:1.4;margin-top:6px}
.gfhr .r-poster-2{position:absolute;right:0;bottom:0;width:min(46%,180px);border-top-color:var(--forest)}
.gfhr .r-poster-2 b{font-size:1.25rem}
/* letters */
.gfhr .r-letters{position:relative;min-height:220px}
.gfhr .r-letter-mini{position:absolute;left:0;right:0;background:#fff;border-radius:6px;padding:16px 18px;box-shadow:0 16px 36px -20px rgba(38,37,35,.5);border:1px solid var(--line)}
.gfhr .r-letter-mini:nth-child(1){top:0;transform:translateX(10%)}
.gfhr .r-letter-mini:nth-child(2){top:48px;transform:translateX(5%)}
.gfhr .r-letter-mini.top{top:96px;transform:none}
.gfhr .r-letter-mini b{display:block;font:700 .98rem/1.2 var(--display);letter-spacing:-.015em}
.gfhr .r-letter-mini span{display:block;font-size:.8rem;color:var(--muted);margin-top:4px;line-height:1.4}
/* nations mini */
.gfhr .r-nations-mini{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gfhr .r-nations-mini span{background:#fff;border-radius:10px;padding:14px;font:600 .82rem/1.3 var(--display);color:var(--muted);border:1px solid var(--line)}
.gfhr .r-nations-mini b{display:block;color:var(--ink);font-size:1rem;margin-bottom:2px}
/* the folder */
.gfhr .r-folder{display:grid}
.gfhr .r-folder-tabs{display:flex;flex-wrap:wrap;gap:4px;padding:0 84px 0 10px;position:relative;z-index:1}
.gfhr .r-folder-tabs span{font:600 .66rem/1 var(--display);padding:8px 10px 10px;border-radius:8px 8px 0 0;background:#D8CFA8;color:var(--ink)}
.gfhr .r-folder-tabs span:nth-child(2){background:var(--p2)}.gfhr .r-folder-tabs span:nth-child(3){background:var(--p3)}.gfhr .r-folder-tabs span:nth-child(4){background:var(--p4)}.gfhr .r-folder-tabs span:nth-child(5){background:var(--p1)}
.gfhr .r-folder-body{background:#fff;border-radius:10px;padding:16px 18px;margin-top:-2px;box-shadow:0 20px 40px -24px rgba(38,37,35,.45);border:1px solid var(--line)}
.gfhr .r-folder-body b{display:block;font:700 1rem/1.2 var(--display);letter-spacing:-.015em;margin-bottom:10px}
.gfhr .r-folder-body ul{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:.84rem}
.gfhr .r-folder-body li{display:flex;gap:8px;align-items:center;color:var(--muted)}
.gfhr .r-folder-body li.on{color:var(--ink)}
.gfhr .r-folder-body svg{width:16px;height:16px;flex:none;color:var(--leaf-ink)}
.gfhr .r-folder-body li:not(.on) svg{color:#B9B6AD}
/* certificate */
.gfhr .r-cert{position:relative;background:#fff;color:var(--ink);border-radius:14px;padding:22px 22px 18px;border-left:6px solid var(--leaf);box-shadow:0 20px 40px -24px rgba(38,37,35,.45)}
.gfhr .r-cert .example{right:12px;top:12px}
.gfhr .r-cert p{margin:0;color:var(--ink)}
.gfhr .r-cert-k{padding-right:80px;font:600 .72rem/1.3 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--leaf-ink)}
.gfhr .r-cert-name{font:800 clamp(1.3rem,2vw,1.8rem)/1.1 var(--display);letter-spacing:-.03em;margin-top:10px!important}
.gfhr .r-cert-course{font:600 .98rem/1.3 var(--sans);margin-top:4px!important;color:var(--muted)!important}
.gfhr .r-cert dl{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;margin:14px 0 0;font-size:.86rem}
.gfhr .r-cert dt{color:var(--muted)}
.gfhr .r-cert dd{margin:0;font-family:var(--mono);font-weight:500}
/* the phone */
.gfhr .r-phone{background:#1E1D1B;border-radius:30px;padding:8px;border:1px solid #3a3835;width:min(62%,210px);margin:0 auto;box-shadow:0 30px 60px -24px rgba(38,37,35,.6)}
.gfhr .r-phone .screen{background:var(--paper);border-radius:23px;overflow:hidden;aspect-ratio:5/9}
.gfhr .r-phone .screen img{width:100%;height:100%;object-fit:cover;object-position:top}
/* voucher */
.gfhr .r-voucher{background:var(--leaf);color:var(--ink);border-radius:14px;padding:22px;display:grid;gap:4px;position:relative;overflow:hidden}
.gfhr .r-voucher::before,.gfhr .r-voucher::after{content:"";position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:var(--paper);transform:translateY(-50%)}
.gfhr .r-voucher::before{left:-11px}.gfhr .r-voucher::after{right:-11px}
.gfhr .r-voucher b{font:800 clamp(2.2rem,3vw,2.8rem)/1 var(--display);letter-spacing:-.04em}
.gfhr .r-voucher span{font:700 1rem/1.3 var(--display)}
.gfhr .r-voucher small{font-size:.8rem;line-height:1.4;margin-top:8px}

/* ================= 4. PRICES ================= */
.gfhr .r-price{background:var(--paper);border-top:1px solid var(--line)}
.gfhr .r-price-head{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);align-items:end}
.gfhr .r-price-head .lead{margin:0}
.gfhr .r-tiers{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,24px);margin-top:clamp(36px,4vw,56px)}
.gfhr .r-tier{background:var(--white);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:22px}
.gfhr .r-tier-lead{border:2px solid var(--leaf-deep);background:var(--leaf-wash)}
.gfhr .r-tier-k{display:block;font:600 .95rem/1.2 var(--display);color:var(--leaf-ink);margin-bottom:8px}
.gfhr .r-tier h3{font-size:clamp(1.5rem,2.2vw,2rem);letter-spacing:-.03em}
.gfhr .r-tier-price{margin:14px 0 0;display:flex;align-items:baseline;gap:10px}
.gfhr .r-tier-price b{font:800 clamp(2.6rem,3.6vw,3.4rem)/1 var(--display);letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.gfhr .r-tier-price span{color:var(--muted);font-size:.95rem}
.gfhr .r-tier-list{list-style:none;margin:0;padding:0;display:grid;gap:12px;font-size:.98rem;color:var(--ink)}
.gfhr .r-tier-list li{position:relative;padding-left:32px}
.gfhr .r-tier-list svg{position:absolute;left:0;top:3px;width:20px;height:20px;color:var(--leaf-ink)}
.gfhr .r-tier-list li.no{color:var(--faint)}
.gfhr .r-tier-list li.no svg{color:#B9B6AD}
.gfhr .r-tier .r-btn{margin-top:auto;align-self:start}
.gfhr .r-complete{margin-top:clamp(16px,2vw,24px);background:var(--white);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,36px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.gfhr .r-complete h3{font-size:clamp(1.3rem,2vw,1.7rem)}
.gfhr .r-complete p{margin:10px 0 0;color:var(--muted);max-width:60ch}
.gfhr .r-print{margin-top:clamp(16px,2vw,24px);border:1px dashed var(--line);border-radius:22px;padding:clamp(22px,3vw,36px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}
.gfhr .r-print h3{font-size:clamp(1.3rem,2vw,1.7rem)}
.gfhr .r-print p{margin:10px 0 0;color:var(--muted);max-width:60ch}
.gfhr .r-print-links{display:flex;flex-direction:column;gap:10px}

/* ================= 5. HOW IT WORKS ================= */
.gfhr .r-how{background:var(--forest);color:var(--white)}
.gfhr .r-how h2,.gfhr .r-how h3{color:var(--white)}
.gfhr .r-how .r-k{color:var(--leaf-rev)}
.gfhr .r-how-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,64px);align-items:end}
.gfhr .r-how .lead{color:var(--on-dark);margin:0}
.gfhr .r-steps{list-style:none;margin:clamp(36px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(20px,3vw,40px)}
.gfhr .r-steps li{display:grid;gap:10px;align-content:start;border-top:1px solid rgba(252,252,252,.22);padding-top:18px}
.gfhr .r-step-n{width:36px;height:36px;border-radius:50%;background:var(--leaf);color:var(--ink);display:grid;place-items:center;font:800 1.05rem var(--display)}
.gfhr .r-steps b{font:700 1.15rem/1.25 var(--display);letter-spacing:-.015em;color:var(--white)}
.gfhr .r-steps span:not(.r-step-n){color:var(--on-dark);font-size:.96rem;line-height:1.5}
.gfhr .r-nations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.5vw,20px);margin-top:clamp(40px,5vw,64px)}
.gfhr .r-nation{background:rgba(252,252,252,.06);border:1px solid rgba(252,252,252,.16);border-radius:18px;padding:22px 22px 18px}
.gfhr .r-nation h3{font-size:1.3rem;margin-bottom:14px;letter-spacing:-.02em}
.gfhr .r-nation dl{margin:0;display:grid;gap:12px}
.gfhr .r-nation dt{font:600 .7rem/1.2 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--leaf-rev)}
.gfhr .r-nation dd{margin:3px 0 0;font-size:.95rem;line-height:1.45;color:var(--white)}
.gfhr .r-cost{margin-top:clamp(40px,5vw,64px);border-top:1px solid rgba(252,252,252,.22);padding-top:clamp(28px,3vw,40px);display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(20px,3vw,48px);align-items:start}
.gfhr .r-cost h3{font-size:clamp(1.4rem,2vw,1.8rem);max-width:14ch}
.gfhr .r-cost-note{grid-column:2;margin:0;font-size:.86rem;color:var(--on-dark-soft);max-width:60ch}
.gfhr .r-bars{margin:0;display:grid;gap:14px}
.gfhr .r-bar{display:grid;gap:6px}
.gfhr .r-bar dt{font-size:.95rem;color:var(--on-dark)}
.gfhr .r-bar dd{margin:0;display:flex;align-items:center;gap:12px}
.gfhr .r-bar dd i{display:block;height:22px;border-radius:5px;background:rgba(252,252,252,.28);width:calc(var(--w) * .7);min-width:14px;flex:none;transform-origin:left;transition:transform 1s var(--ease)}
.gfhr.gfhr-js .r-cost:not(.in) .r-bar dd i{transform:scaleX(0)}
.gfhr .r-bar dd b{font:700 1.02rem/1 var(--display);white-space:nowrap;color:var(--white)}
.gfhr .r-bar-us dt{color:var(--white);font-weight:600}
.gfhr .r-bar-us dd i{background:var(--leaf)}
.gfhr .r-bar-us dd b{color:var(--leaf-rev)}

/* ================= 6. LANGUAGES ================= */
.gfhr .r-langs{background:var(--white);border-bottom:1px solid var(--line)}
.gfhr .r-lang-wall{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:.05em .32em;font:700 clamp(2rem,5vw,4.8rem)/1.02 var(--display);letter-spacing:-.035em;color:var(--ink);text-wrap:balance}
.gfhr .r-lang-wall li{display:inline-block}
.gfhr .r-lang-wall li.s{font-size:.66em}
.gfhr .r-lang-wall li.xl{font-size:1.28em}
.gfhr .r-lang-wall li.script{font-family:var(--script);letter-spacing:0;font-weight:800}
.gfhr .r-lang-wall li:nth-child(3n+2){color:var(--leaf-ink)}
.gfhr .r-lang-wall li:nth-child(4n+3){color:var(--forest)}
.gfhr .r-lang-wall li.new{color:var(--leaf-ink);position:relative;padding-right:.85em}
.gfhr .r-lang-wall li.new::after{content:"New";position:absolute;right:0;top:.08em;font:700 .22em/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:var(--leaf);border-radius:999px;padding:.5em .8em}
.gfhr .r-langs-copy{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(24px,4vw,64px);margin-top:clamp(40px,5vw,72px);align-items:start;border-top:1px solid var(--line);padding-top:clamp(28px,3vw,44px)}
.gfhr .r-langs-copy h2{font-size:clamp(1.7rem,2.8vw,2.4rem)}
.gfhr .r-langs-copy p{margin:0;color:var(--muted);font-size:1.04rem;max-width:52ch}

/* ================= 7. HONEST ================= */
.gfhr .r-honest{background:var(--ink);color:var(--white)}
.gfhr .r-honest .r-k{color:var(--leaf-rev)}
.gfhr .r-honest h2{color:var(--white);font-size:clamp(1.7rem,3.2vw,2.8rem);max-width:24ch}
.gfhr .r-honest-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(28px,4vw,72px);align-items:start}
.gfhr .r-honest-list{margin:0;display:grid;gap:0}
.gfhr .r-honest-list div{border-top:1px solid rgba(252,252,252,.2);padding:20px 0 24px;display:grid;gap:8px}
.gfhr .r-honest-list div:last-child{border-bottom:1px solid rgba(252,252,252,.2)}
.gfhr .r-honest-list dt{font:700 .78rem/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--leaf-rev)}
.gfhr .r-honest-list dd{margin:0;font-size:1.02rem;line-height:1.55;color:var(--on-dark)}

/* ================= 8. FAQ ================= */
.gfhr .r-faq{background:var(--paper)}
.gfhr .r-faq .wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(24px,4vw,64px);align-items:start}
.gfhr .r-faq details{border-top:1px solid var(--line);padding:4px 0}
.gfhr .r-faq details:last-child{border-bottom:1px solid var(--line)}
.gfhr .r-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;font:700 1.12rem/1.3 var(--display);letter-spacing:-.015em}
.gfhr .r-faq summary::-webkit-details-marker{display:none}
.gfhr .r-faq summary::after{content:"+";font:500 1.5rem/1 var(--display);color:var(--leaf-ink);flex:none;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:var(--white)}
.gfhr .r-faq details[open] summary::after{content:"–"}
.gfhr .r-faq details p{margin:0 0 22px;color:var(--muted);max-width:64ch}

/* ================= 9. FINAL ================= */
.gfhr .r-final{padding:0;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);background:var(--leaf);color:var(--ink)}
.gfhr .r-final-photo{position:relative;min-height:100%}
.gfhr .r-final-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.gfhr .r-final-panel{padding:clamp(56px,7vw,112px) var(--gutter) clamp(56px,7vw,112px) clamp(32px,5vw,80px);max-width:760px}
.gfhr .r-final h2{font-size:clamp(1.9rem,3.4vw,3rem);color:var(--ink)}
.gfhr .r-final-panel>p{margin:20px 0 0;font-size:1.08rem;color:var(--ink)}
.gfhr .r-final .r-btn{background:var(--ink);color:var(--white)}
.gfhr .r-final .r-btn:hover{background:#111}
.gfhr .r-final .r-btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.gfhr .r-final .r-btn-ghost:hover{background:rgba(38,37,35,.08)}
.gfhr .r-final-list{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:10px;font-weight:600}
.gfhr .r-final-list li{position:relative;padding-left:34px}
.gfhr .r-final-list svg{position:absolute;left:0;top:2px;width:22px;height:22px}
.gfhr .r-final-list a{color:var(--ink)}

/* ================= Responsive ================= */
@media (max-width:1100px){
  .gfhr .r-desk{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gfhr .r-item,.gfhr .r-item-decoder,.gfhr .r-item-methods,.gfhr .r-item-posters{grid-column:span 1}
  .gfhr .r-item-decoder{grid-column:span 2}
  .gfhr .r-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gfhr .r-nations{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  .gfhr .r-hero .wrap{grid-template-columns:minmax(0,1fr)}
  .gfhr .r-stage{margin-top:40px;padding-bottom:30%}
  .gfhr .r-letter{width:min(86%,560px)}
  .gfhr .r-box-head,.gfhr .r-price-head,.gfhr .r-how-head,.gfhr .r-langs-copy,.gfhr .r-honest-grid,.gfhr .r-faq .wrap,.gfhr .r-cost{grid-template-columns:minmax(0,1fr)}
  .gfhr .r-box-head .lead,.gfhr .r-price-head .lead,.gfhr .r-how .lead{margin-top:18px}
  .gfhr .r-cost-note{grid-column:1}
  .gfhr .r-cost h3{max-width:none}
  .gfhr .r-tiers{grid-template-columns:minmax(0,1fr)}
  .gfhr .r-complete{grid-template-columns:minmax(0,1fr)}
  .gfhr .r-print{grid-template-columns:minmax(0,1fr)}
  .gfhr .r-print-links{align-items:flex-start}
  .gfhr .r-complete .r-btn{justify-self:start}
  .gfhr .r-final{grid-template-columns:minmax(0,1fr)}
  .gfhr .r-final-photo{aspect-ratio:3/2;min-height:0}
  .gfhr .r-final-panel{padding:clamp(40px,6vw,72px) var(--gutter);max-width:none}
}
@media (max-width:700px){
  .gfhr .r-stage-row{grid-template-columns:minmax(0,1fr);gap:12px;padding-left:40px}
  .gfhr .r-stage-when{padding-left:0}
  .gfhr .r-stage-dot{left:-36px;top:.3em}
  .gfhr .r-desk{grid-template-columns:minmax(0,1fr)}
  .gfhr .r-item-decoder{grid-column:span 1}
  .gfhr .r-steps{grid-template-columns:minmax(0,1fr)}
  .gfhr .r-nations{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:640px){
  .gfhr h1{font-size:clamp(2.2rem,10.2vw,3rem)}
  .gfhr .r-prices{grid-template-columns:minmax(0,1fr)}
  .gfhr .r-facts p{justify-content:flex-start;gap:6px 0;flex-direction:column;align-items:flex-start}
  .gfhr .r-facts span{white-space:normal;padding:0}
  .gfhr .r-facts span+span::before{display:none}
  /* the stage stacks: letter then decoder, nothing overlaps on a phone */
  .gfhr .r-stage{padding-bottom:0;min-height:0;display:grid;gap:14px}
  .gfhr .r-letter{width:100%;transform:none;padding:18px 16px 16px}
  .gfhr .r-letter-head{flex-direction:column-reverse;gap:10px}
  .gfhr .r-letter-rating{padding-right:0;text-align:left;display:flex;align-items:center;gap:10px}
  .gfhr .r-letter-rating b{margin:0;width:50px;height:50px;line-height:50px;font-size:1.9rem;flex:none}
  .gfhr .r-letter-rating small{margin:0;max-width:none}
  .gfhr .r-letter .example{right:10px;top:10px}
  .gfhr .r-decoder{position:static;width:100%}
  .gfhr .r-decoder-cols{display:none}
  .gfhr .r-decoder-row{grid-template-columns:minmax(0,1fr);gap:3px;padding:10px 0}
  .gfhr .r-decoder-row span:nth-child(2)::before{content:"Fix: ";color:var(--faint);font-weight:600}
  .gfhr .r-decoder-row span:nth-child(3)::before{content:"Record: ";color:var(--faint);font-weight:600}
  .gfhr .r-decoder-row span:nth-child(4)::before{content:"Poster: ";color:var(--faint);font-weight:600}
  .gfhr .r-strip{gap:3px}
  .gfhr .r-strip li{border-radius:5px;padding:3px}
  .gfhr .r-uses::before{width:100%}
  .gfhr .r-sheet{padding:14px 12px 10px}
  .gfhr .r-sheet-row{grid-template-columns:16px minmax(0,1fr) minmax(0,1fr);gap:4px 8px}
  .gfhr .r-sheet-row span:nth-child(4),.gfhr .r-sheet-row span:nth-child(5){grid-column:2/-1}
  .gfhr .r-sheet-row span:nth-child(4)::before{content:"Record: ";color:var(--faint)}
  .gfhr .r-sheet-row span:nth-child(5)::before{content:"Poster: ";color:var(--faint);font-weight:400}
  .gfhr .r-sheet-row.blank span{grid-column:auto}
  .gfhr .r-sheet-row.blank span:nth-child(4),.gfhr .r-sheet-row.blank span:nth-child(5){display:none}
  .gfhr .r-sheet-row.blank span::before{content:none}
  .gfhr .r-art-pages{min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:60px}
  .gfhr .r-art-pages img{position:static;width:100%;transform:none!important}
  .gfhr .r-count{bottom:0}
  .gfhr .r-poster{width:70%}
  .gfhr .r-poster-2{position:static;width:60%;margin:12px 0 0 auto}
  .gfhr .r-letters{min-height:0;display:grid;gap:8px}
  .gfhr .r-letter-mini{position:static;transform:none!important}
  .gfhr .r-letter-mini.top{order:-1}
  .gfhr .r-folder-tabs{flex-wrap:wrap}
  .gfhr .r-phone{width:min(70%,210px)}
  .gfhr .r-lang-wall{font-size:clamp(1.8rem,9vw,2.6rem)}
  .gfhr .r-tier-price b{font-size:2.6rem}
}
@media (prefers-reduced-motion:reduce){
  .gfhr *{transition:none!important;animation:none!important}
}
