/* =====================================================================
   GROWTH & PROFIT DIAGNOSTIC - dedicated landing-page design system.
   Not intended to match the main website page styling.
   ================================================================== */

/* =====================================================================
   PERSONALITY LAYER  --  scribbles, highlighters, stamps, textures
   ================================================================== */

/* Marker/handwritten text - Mark's voice on the page */
.gf-marker{
  font-family:'Permanent Marker',cursive;
  font-weight:400;
  color:var(--gf-orange);
  letter-spacing:.01em;
  transform:rotate(-1.5deg);
  display:inline-block;
}

/* Solid yellow highlighter behind key phrases. Uses box-shadow so the
   fill sits behind the text and wraps correctly across line breaks. */
.gf-hi{
  background:#ffe66b;
  padding:1px 4px;
  font-weight:800;
  color:var(--gf-ink);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}
.gf-hi--orange{
  background:#ffd7bd;
  color:var(--gf-ink);
}

/* Underline on the emphasized part of an H2: clean solid bar */
.gf-underline-hand{
  display:inline-block;position:relative;
  padding-bottom:6px;
  box-shadow:inset 0 -8px 0 rgba(255,107,43,.18);
}

/* Sticky-tape rip effect for section transitions */
.gf-tape{
  display:inline-block;
  padding:6px 22px;
  background:#ffe89c;
  color:#3a2c00;
  font-family:'Permanent Marker',cursive;
  font-size:.95rem;letter-spacing:.02em;
  transform:rotate(-2deg);
  box-shadow:0 4px 8px rgba(0,0,0,.08);
  position:relative;
}
.gf-tape::before,.gf-tape::after{
  content:"";position:absolute;top:0;bottom:0;width:8px;
  background-image:radial-gradient(circle at 4px 6px,transparent 3px,#ffe89c 3px);
  background-size:8px 12px;background-repeat:repeat-y;
}
.gf-tape::before{left:-4px;transform:rotate(180deg);}
.gf-tape::after{right:-4px;}

/* Slight, human-feeling rotations for accent panels */
.gf-tilt-l{transform:rotate(-1.2deg);}
.gf-tilt-r{transform:rotate(1.2deg);}

/* Paper grain texture -- extremely subtle */
.gf-paper-bg{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.05  0 0 0 0 0.05  0 0 0 0 0.05  0 0 0 0.05 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size:200px 200px;
}

/* Hand-drawn arrow SVG used near CTAs */
.gf-arrow-scribble{
  display:block;margin:0 auto 12px;
  color:var(--gf-orange);
  animation:gf-arrow-wiggle 3s ease-in-out infinite;
}
@keyframes gf-arrow-wiggle{
  0%,100%{transform:translateY(0) rotate(0);}
  50%{transform:translateY(4px) rotate(-2deg);}
}

/* Circle-scribble around an element */
.gf-circle-doodle{position:relative;display:inline-block;}
.gf-circle-doodle::before{
  content:"";position:absolute;inset:-14px -18px;
  background:no-repeat center/100% 100% url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 100'><path d='M 30 50 C 30 22, 90 12, 140 12 C 195 12, 210 40, 205 60 C 200 82, 150 92, 90 88 C 40 84, 20 70, 30 50 Z' stroke='%23FF6B2B' stroke-width='3' fill='none' stroke-linecap='round' stroke-dasharray='0'/></svg>");
  pointer-events:none;
}


/* ---------- Reset / base ---------------------------------------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  font-family:'Outfit',sans-serif;
  background:#FAF6EE;
  color:#1a1a1a;
  font-size:20px;
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,video{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
button{font:inherit;cursor:pointer;background:none;border:none;color:inherit;}
input,textarea,select{font:inherit;color:inherit;}

/* ---------- Tokens (landing-page-specific) --------------------- */
:root{
  --gf-ink:#0b0b0d;
  --gf-body:#2a2a2a;
  --gf-mute:#6f6f6f;
  --gf-line:rgba(15,15,15,.08);
  --gf-cream:#FAF6EE;
  --gf-cream-2:#F1EBDD;
  --gf-paper:#ffffff;
  --gf-orange:#FF6B2B;
  --gf-orange-dk:#d94e10;
  --gf-orange-tint:rgba(255,107,43,.09);
  --gf-navy:#0a1424;
  --gf-navy-dk:#050a15;
  --gf-gold:#b9963f;
  --gf-red:#c93737;

  --gf-w-narrow:660px;
  --gf-w-mid:860px;
  --gf-w-wide:1120px;

  --gf-pad-y-sec:96px;
}

/* ---------- Utility wrappers ----------------------------------- */
.gf-wrap{width:100%;margin:0 auto;padding:0 24px;}
.gf-narrow{max-width:var(--gf-w-narrow);margin:0 auto;padding:0 24px;}
.gf-mid   {max-width:var(--gf-w-mid);   margin:0 auto;padding:0 24px;}
.gf-wide  {max-width:var(--gf-w-wide);  margin:0 auto;padding:0 24px;}

/* ---------- Header (minimal, no distractions) ------------------ */
.gf-header{
  position:sticky;top:0;z-index:50;
  background:rgba(250,246,238,.94);
  border-bottom:1px solid var(--gf-line);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.gf-header-inner{
  max-width:var(--gf-w-wide);margin:0 auto;
  padding:12px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.gf-header-logo img{height:26px;width:auto;}
.gf-header-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--gf-orange);color:#fff;
  padding:10px 18px;border-radius:2px;
  font-weight:800;font-size:.82rem;letter-spacing:.02em;
  text-transform:uppercase;
  box-shadow:0 6px 14px rgba(255,107,43,.28);
  transition:background .14s,transform .14s;
}
.gf-header-cta:hover{background:var(--gf-orange-dk);transform:translateY(-1px);}
@media(max-width:520px){
  .gf-header-cta{padding:8px 12px;font-size:.72rem;}
  .gf-header-logo img{height:22px;}
}

/* ---------- Hero ------------------------------------------------ */
.gf-hero{
  padding:64px 0 72px;
  background:var(--gf-cream);
  background-image:radial-gradient(circle at 1px 1px,rgba(15,15,15,.055) 1px,transparent 0);
  background-size:22px 22px;
  border-bottom:1px solid var(--gf-line);
  position:relative;
  overflow:hidden;
}

/* Hero split: copy left, Mark's photo right */
.gf-hero-split{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,1fr);
  gap:56px;
  align-items:center;
  max-width:var(--gf-w-wide);margin:0 auto;padding:0 24px;
}
.gf-hero-photo{
  position:relative;
  display:flex;justify-content:center;align-items:flex-end;
}
.gf-hero-photo img{
  width:100%;max-width:380px;
  aspect-ratio:1/1.2;
  object-fit:cover;object-position:center 18%;
  border-radius:4px;
  box-shadow:0 30px 46px rgba(15,15,15,.18),0 8px 16px rgba(15,15,15,.08);
  border:6px solid #fff;
  transform:rotate(1.5deg);
}
.gf-hero-doodle{
  position:absolute;
  top:20px;left:-30px;
  transform:rotate(-6deg);
  pointer-events:none;
}
.gf-hero-doodle-text{
  font-family:'Permanent Marker',cursive;
  font-size:1.7rem;color:var(--gf-orange);
  line-height:1;white-space:nowrap;
  text-shadow:0 1px 0 rgba(0,0,0,.05);
}
.gf-hero-doodle-arrow{
  display:block;margin-top:6px;margin-left:34px;
}
.gf-hero-stamp{
  position:absolute;bottom:-14px;right:-16px;
  width:110px;height:110px;
  background:var(--gf-navy);color:#fff;
  border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;text-transform:uppercase;
  transform:rotate(-8deg);
  font-family:'Outfit',sans-serif;
}
.gf-hero-stamp .n{font-weight:900;font-size:2.1rem;line-height:1;color:var(--gf-orange);letter-spacing:-.02em;}
.gf-hero-stamp .l{font-size:.6rem;font-weight:700;letter-spacing:.1em;margin-top:4px;line-height:1.15;color:rgba(255,255,255,.85);}

@media(max-width:900px){
  .gf-hero-split{grid-template-columns:1fr;gap:36px;text-align:left;}
  .gf-hero-photo{max-width:280px;margin:0 auto;}
  .gf-hero-photo img{transform:rotate(1deg);border-width:5px;}
  .gf-hero-doodle{top:10px;left:-14px;}
  .gf-hero-doodle-text{font-size:1.3rem;}
  .gf-hero-doodle-arrow{width:80px;height:64px;margin-left:24px;}
  .gf-hero-stamp{width:88px;height:88px;bottom:-8px;right:-8px;}
  .gf-hero-stamp .n{font-size:1.55rem;}
  .gf-hero-stamp .l{font-size:.55rem;}
}
.gf-hero-eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,107,43,.11);color:var(--gf-orange-dk);
  font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  padding:8px 14px;border-radius:2px;margin-bottom:24px;
}
.gf-hero-eyebrow::before{content:"";width:8px;height:8px;background:var(--gf-orange);border-radius:50%;}
.gf-h1{
  font-family:'Outfit',sans-serif;
  font-weight:900;
  font-size:clamp(2.3rem,5.6vw,4rem);
  line-height:1.02;
  letter-spacing:-.032em;
  color:var(--gf-ink);
  margin:0 0 22px;
  text-wrap:balance;
}
.gf-h1 em{font-style:normal;color:var(--gf-orange);}
.gf-hero-sub{
  font-size:clamp(1.1rem,1.5vw,1.35rem);
  font-weight:400;
  color:var(--gf-body);
  line-height:1.5;
  margin:0 0 20px;
  max-width:720px;
}
.gf-hero-sub strong{font-weight:700;color:var(--gf-ink);}
/* "Last Updated:" line above "Dear Business Owner," -- small,
   editorial, always 3 days behind the current date so the letter
   reads as recently reviewed without needing manual updates. */
.gf-updated{
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:.98rem;
  color:var(--gf-mute);
  margin:0 0 22px;
  letter-spacing:.01em;
}
.gf-hero-cta-wrap{margin-top:14px;}
.gf-hero-scroll{
  margin-top:56px;
  display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:.78rem;color:var(--gf-mute);letter-spacing:.06em;text-transform:uppercase;
}
.gf-hero-scroll .arrow{
  width:26px;height:26px;border-radius:50%;
  background:var(--gf-orange);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  animation:gf-bob 2s ease-in-out infinite;
}
@keyframes gf-bob{0%,100%{transform:translateY(0);}50%{transform:translateY(4px);}}

/* ---------- Salutation / body copy sections -------------------- */
.gf-section{padding:var(--gf-pad-y-sec) 0;}
.gf-section--tight{padding:56px 0;}
.gf-section--cream{
  background:var(--gf-cream-2);
  background-image:radial-gradient(circle at 1px 1px,rgba(15,15,15,.06) 1px,transparent 0);
  background-size:22px 22px;
  border-top:1px solid var(--gf-line);border-bottom:1px solid var(--gf-line);
}
.gf-section--dark{
  background:var(--gf-navy);
  background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.06) 1px,transparent 0);
  background-size:22px 22px;
  color:#f5f0e6;
}
.gf-section--dark .gf-h2,.gf-section--dark .gf-h2 em{color:#fff;}
.gf-section--dark .gf-p{color:rgba(255,255,255,.92);}
.gf-section--dark .gf-p em{color:#fff;font-style:italic;}
.gf-section--dark .gf-p strong{color:#fff;}
.gf-section--dark .gf-eyebrow{color:rgba(255,255,255,.78);}

.gf-eyebrow{
  display:block;
  font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gf-mute);margin:0 0 14px;
}
.gf-h2{
  font-family:'Outfit',sans-serif;
  font-weight:900;
  font-size:clamp(1.8rem,4.2vw,2.8rem);
  line-height:1.08;letter-spacing:-.028em;
  color:var(--gf-ink);margin:0 0 24px;
  text-wrap:balance;
}
.gf-h2 em{font-style:normal;color:var(--gf-orange);}
.gf-h2--centre{text-align:center;}
.gf-h3{
  font-family:'Outfit',sans-serif;
  font-weight:800;
  font-size:clamp(1.25rem,2.2vw,1.6rem);
  line-height:1.2;color:var(--gf-ink);margin:0 0 12px;
}

.gf-p{
  font-size:1.2rem;
  line-height:1.7;
  color:var(--gf-body);
  margin:0 0 20px;
}
.gf-p.lead{font-size:1.35rem;color:var(--gf-ink);font-weight:500;}
.gf-p em{font-style:italic;color:var(--gf-ink);}
.gf-p strong{font-weight:700;color:var(--gf-ink);}
.gf-p.spacer{margin-bottom:32px;}
.gf-p.single{margin-bottom:12px;}
.gf-p.small{font-size:1.05rem;color:var(--gf-mute);}
/* Dramatic isolated statement - larger, bold, own line, more breathing room */
.gf-p.gf-p--isolate{
  font-size:1.4rem;font-weight:700;color:var(--gf-ink);
  line-height:1.35;letter-spacing:-.01em;
  margin:28px 0 28px;text-wrap:balance;
}

/* Isolated short line (Sabri-style rhythm) */
.gf-line{
  display:block;
  font-size:1.15rem;font-weight:600;color:var(--gf-ink);
  margin:6px 0 6px;
}
.gf-line--orange{color:var(--gf-orange);}
.gf-line--big{font-size:1.35rem;font-weight:800;letter-spacing:-.01em;}

/* Pull quote */
.gf-pullquote{
  border-left:4px solid var(--gf-orange);
  padding:22px 26px;
  margin:32px 0;
  background:var(--gf-paper);
  font-family:'Fraunces',serif;
  font-style:italic;
  font-size:1.35rem;
  line-height:1.35;color:var(--gf-ink);
}

/* Signature */
.gf-signoff{margin-top:24px;font-family:'Fraunces',serif;font-style:italic;font-size:1.1rem;color:var(--gf-mute);}

/* =====================================================================
   V2 OPTIMISATION LAYER
   Google Ads UI mockups + editorial callouts + annotations + proof
   ================================================================== */

/* ---------- Handwritten margin annotation --------------------- */
.gf-annot{
  display:block;
  font-family:'Permanent Marker',cursive;
  font-size:1.15rem;color:var(--gf-orange);
  transform:rotate(-2deg);
  margin:22px 0;letter-spacing:.02em;line-height:1.25;
  position:relative;padding-left:38px;
}
.gf-annot::before{
  content:"";position:absolute;left:0;top:2px;width:28px;height:22px;
  background:no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 24' fill='none'><path d='M2 22 C 6 14, 10 10, 14 8 M14 8 L 20 4 L 20 12 M14 8 L 28 12' stroke='%23FF6B2B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
.gf-annot--right{padding-left:0;padding-right:38px;text-align:right;transform:rotate(1.5deg);}
.gf-annot--right::before{
  left:auto;right:0;transform:scaleX(-1);
}

/* ---------- Editorial pull quote (breaks long copy walls) ---- */
.gf-pull{
  max-width:var(--gf-w-mid);margin:44px auto;padding:0 24px;
  position:relative;
}
.gf-pull-inner{
  font-family:'Fraunces',serif;font-style:italic;font-weight:500;
  font-size:clamp(1.4rem,2.8vw,2rem);
  line-height:1.28;color:var(--gf-ink);
  text-align:center;
  padding:12px 28px;
  position:relative;
  border-left:6px solid var(--gf-orange);
  padding-left:28px;text-align:left;
}
.gf-pull-inner::before{
  content:"\201C";
  font-family:'Fraunces',serif;
  position:absolute;
  top:-18px;left:14px;
  font-size:5rem;line-height:1;color:var(--gf-orange);
  opacity:.18;font-style:normal;
}
.gf-pull-attr{
  margin-top:12px;font-size:.85rem;font-weight:700;
  color:var(--gf-mute);letter-spacing:.08em;text-transform:uppercase;
  padding-left:34px;
}
.gf-pull-attr::before{content:"— ";}

/* ---------- Executive-summary insight panel ------------------ */
.gf-insight{
  max-width:var(--gf-w-mid);margin:36px auto;
  background:var(--gf-paper);
  border:1px solid var(--gf-line);
  border-radius:14px;overflow:hidden;
  box-shadow:0 20px 44px -18px rgba(15,15,15,.16);
}
.gf-insight-head{
  padding:14px 22px;
  background:var(--gf-navy);color:#fff;
  font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
  display:flex;align-items:center;gap:10px;
}
.gf-insight-head::before{
  content:"";width:10px;height:10px;border-radius:50%;
  background:var(--gf-orange);flex-shrink:0;
}
.gf-insight-body{padding:24px 26px;}
.gf-insight-body p{font-size:1.02rem;line-height:1.6;color:var(--gf-body);margin:0 0 12px;}
.gf-insight-body p:last-child{margin-bottom:0;}
.gf-insight-body strong{color:var(--gf-ink);}

/* ---------- Google Ads UI mockup (proof panel) --------------- */
/* Neutral "browser chrome" wrapper */
.gf-ads-mock{
  max-width:var(--gf-w-mid);margin:36px auto;
  background:#fff;
  border:1px solid #dcdcdc;border-radius:12px;overflow:hidden;
  box-shadow:0 22px 46px -20px rgba(15,15,15,.22),0 4px 10px -2px rgba(15,15,15,.06);
  font-family:'Google Sans','Outfit','Roboto',Arial,sans-serif;
  position:relative;
}
.gf-ads-mock-chrome{
  display:flex;align-items:center;gap:8px;
  padding:10px 14px;
  background:#f8f9fa;
  border-bottom:1px solid #e8eaed;
}
.gf-ads-mock-chrome .dot{width:10px;height:10px;border-radius:50%;background:#dcdcdc;}
.gf-ads-mock-chrome .url{
  margin-left:12px;padding:4px 10px;
  background:#fff;border:1px solid #e8eaed;border-radius:14px;
  font-size:.72rem;color:#5f6368;font-family:inherit;letter-spacing:.01em;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.gf-ads-mock-toolbar{
  display:flex;align-items:center;gap:10px;
  padding:12px 18px;
  border-bottom:1px solid #e8eaed;
  font-size:.78rem;color:#3c4043;font-weight:500;
}
.gf-ads-mock-toolbar .logo{
  display:inline-flex;align-items:center;gap:8px;font-weight:600;color:#3c4043;
}
.gf-ads-mock-toolbar .logo-dot{
  width:14px;height:14px;border-radius:50%;
  background:conic-gradient(from 0deg,#4285f4 0 25%,#0f9d58 25% 50%,#f4b400 50% 75%,#db4437 75% 100%);
}
.gf-ads-mock-toolbar .crumb{color:#5f6368;}
.gf-ads-mock-toolbar .crumb::before{content:" / ";color:#c1c7cd;margin:0 6px;}
.gf-ads-mock-body{padding:20px 22px;}
.gf-ads-mock-h{
  font-size:1rem;font-weight:600;color:#202124;margin-bottom:10px;
  display:flex;align-items:center;gap:10px;
}
.gf-ads-mock-h .pill{
  font-size:.62rem;font-weight:700;letter-spacing:.1em;
  padding:3px 8px;border-radius:2px;text-transform:uppercase;
  background:#fce8e6;color:#c5221f;
}

/* Data table styling (Google Ads report look) */
.gf-ads-table{width:100%;border-collapse:collapse;font-size:.82rem;color:#3c4043;}
.gf-ads-table th,.gf-ads-table td{
  padding:10px 12px;text-align:left;
  border-bottom:1px solid #e8eaed;
}
.gf-ads-table th{
  font-size:.7rem;font-weight:700;color:#5f6368;
  text-transform:uppercase;letter-spacing:.06em;background:#fafbfc;
}
.gf-ads-table td.num{text-align:right;font-variant-numeric:tabular-nums;color:#202124;font-weight:500;}
.gf-ads-table tr.row-bad td{background:rgba(255,107,43,.06);}
.gf-ads-table tr.row-bad td:first-child{
  position:relative;padding-left:20px;font-weight:600;color:#c5221f;
}
.gf-ads-table tr.row-bad td:first-child::before{
  content:"";position:absolute;left:8px;top:50%;transform:translateY(-50%);
  width:6px;height:6px;border-radius:50%;background:#c5221f;
}
.gf-ads-table .pill-ok{
  display:inline-block;padding:2px 8px;border-radius:2px;
  background:#e6f4ea;color:#137333;font-size:.68rem;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;
}
.gf-ads-table .pill-warn{
  display:inline-block;padding:2px 8px;border-radius:2px;
  background:#fce8e6;color:#c5221f;font-size:.68rem;font-weight:700;letter-spacing:.05em;
  text-transform:uppercase;
}

/* Metric-card row (for GA4/summary style) */
.gf-ads-metrics{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:6px;
}
.gf-ads-metric{
  padding:14px 14px 12px;
  border:1px solid #e8eaed;border-radius:8px;background:#fafbfc;
}
.gf-ads-metric .label{font-size:.68rem;font-weight:600;color:#5f6368;letter-spacing:.06em;text-transform:uppercase;}
.gf-ads-metric .value{font-size:1.35rem;font-weight:700;color:#202124;margin-top:6px;letter-spacing:-.01em;}
.gf-ads-metric .delta{font-size:.72rem;font-weight:600;margin-top:4px;}
.gf-ads-metric .delta.down{color:#c5221f;}
.gf-ads-metric .delta.up{color:#137333;}
@media(max-width:640px){.gf-ads-metrics{grid-template-columns:repeat(2,1fr);}}

/* Simple horizontal bar (spend/ROAS visualisation) */
.gf-ads-bars{padding:6px 0;}
.gf-ads-bar-row{display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:14px;padding:8px 0;font-size:.82rem;color:#3c4043;border-bottom:1px solid #f1f3f4;}
.gf-ads-bar-row:last-child{border-bottom:none;}
.gf-ads-bar-row .name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gf-ads-bar-row .bar{position:relative;height:8px;background:#f1f3f4;border-radius:4px;overflow:hidden;}
.gf-ads-bar-row .bar > span{position:absolute;left:0;top:0;bottom:0;background:#4285f4;border-radius:4px;}
.gf-ads-bar-row .bar > span.bar-danger{background:#ea4335;}
.gf-ads-bar-row .bar > span.bar-warn  {background:#fbbc04;}
.gf-ads-bar-row .val{font-variant-numeric:tabular-nums;font-weight:600;color:#202124;min-width:70px;text-align:right;}

/* Little "placeholder note" that makes it clear this is a mockup */
.gf-mock-note{
  max-width:var(--gf-w-mid);margin:8px auto 44px;
  font-size:.72rem;color:var(--gf-mute);
  font-style:italic;text-align:center;
  padding:0 24px;
}
.gf-mock-note::before{content:"↑ ";color:var(--gf-orange);font-weight:900;font-style:normal;}

/* Container to hold an ads mock with a marker annotation beside */
.gf-mock-wrap{
  max-width:var(--gf-w-mid);margin:0 auto;padding:0 24px;
  position:relative;
}
.gf-mock-annotation{
  font-family:'Permanent Marker',cursive;
  font-size:1.1rem;color:var(--gf-orange);
  transform:rotate(-2deg);
  margin:12px 0 24px;text-align:center;
}

/* -- Conversion Actions row (status pills) -- */
.gf-ads-conv-row{
  display:grid;grid-template-columns:36px 1fr auto auto auto;
  align-items:center;gap:14px;
  padding:12px 10px;
  border-bottom:1px solid #f1f3f4;font-size:.82rem;color:#3c4043;
}
.gf-ads-conv-row:last-child{border-bottom:none;}
.gf-ads-conv-row .icn{
  width:28px;height:28px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  background:#e8f0fe;color:#1a73e8;font-weight:700;font-size:.72rem;
}
.gf-ads-conv-row .icn.danger{background:#fce8e6;color:#c5221f;}
.gf-ads-conv-row .name{font-weight:500;color:#202124;}
.gf-ads-conv-row .name small{display:block;font-size:.7rem;color:#5f6368;font-weight:400;margin-top:2px;}
.gf-ads-conv-row .cnt{font-variant-numeric:tabular-nums;color:#202124;font-weight:500;min-width:60px;text-align:right;}
.gf-ads-conv-row .st{
  font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:3px 8px;border-radius:2px;
}
.gf-ads-conv-row .st.ok{background:#e6f4ea;color:#137333;}
.gf-ads-conv-row .st.warn{background:#fef7e0;color:#8a5900;}
.gf-ads-conv-row .st.bad{background:#fce8e6;color:#c5221f;}

/* -- Performance Max asset group cards -- */
.gf-ads-pmax{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:6px;}
@media(max-width:640px){.gf-ads-pmax{grid-template-columns:1fr;}}
.gf-ads-pmax-card{
  border:1px solid #e8eaed;border-radius:8px;padding:14px 14px 12px;background:#fff;
}
.gf-ads-pmax-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.gf-ads-pmax-h .n{font-weight:600;font-size:.86rem;color:#202124;}
.gf-ads-pmax-h .st{font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:2px;background:#e6f4ea;color:#137333;}
.gf-ads-pmax-h .st.warn{background:#fef7e0;color:#8a5900;}
.gf-ads-pmax-list{list-style:none;margin:0;padding:0;}
.gf-ads-pmax-list li{
  display:flex;align-items:center;justify-content:space-between;
  padding:6px 0;border-bottom:1px solid #f1f3f4;
  font-size:.78rem;color:#3c4043;
}
.gf-ads-pmax-list li:last-child{border-bottom:none;}
.gf-ads-pmax-list .lbl{color:#5f6368;}
.gf-ads-pmax-list .v{font-weight:600;font-variant-numeric:tabular-nums;color:#202124;}
.gf-ads-pmax-list .v.low{color:#c5221f;}
.gf-ads-pmax-list .v.mid{color:#8a5900;}

/* -- Opportunities panel (recommendations) -- */
.gf-ads-opps{list-style:none;margin:0;padding:0;}
.gf-ads-opp{
  display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;
  padding:14px 12px;border:1px solid #e8eaed;border-radius:8px;margin-bottom:8px;
  background:#fff;
}
.gf-ads-opp:last-child{margin-bottom:0;}
.gf-ads-opp .bulb{
  width:32px;height:32px;border-radius:50%;
  background:#fff8e1;color:#f9ab00;
  display:flex;align-items:center;justify-content:center;font-size:1rem;
}
.gf-ads-opp .txt{font-size:.86rem;color:#202124;font-weight:500;line-height:1.35;}
.gf-ads-opp .txt small{display:block;font-size:.72rem;color:#5f6368;font-weight:400;margin-top:2px;}
.gf-ads-opp .imp{
  font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 8px;border-radius:2px;background:#fce8e6;color:#c5221f;white-space:nowrap;
}
.gf-ads-opp .imp.mid{background:#fef7e0;color:#8a5900;}

/* -- Budget Allocation: stacked horizontal segment bar -- */
.gf-ads-alloc{margin-top:8px;}
.gf-ads-alloc-bar{
  display:flex;height:32px;border-radius:6px;overflow:hidden;
  border:1px solid #e8eaed;background:#f8f9fa;
}
.gf-ads-alloc-bar > span{
  display:flex;align-items:center;justify-content:center;
  font-size:.7rem;font-weight:700;color:#fff;
  min-width:36px;
}
.gf-ads-alloc-bar > span.a{background:#1a73e8;}
.gf-ads-alloc-bar > span.b{background:#4285f4;}
.gf-ads-alloc-bar > span.c{background:#f9ab00;color:#3c4043;}
.gf-ads-alloc-bar > span.d{background:#ea4335;}
.gf-ads-alloc-bar > span.e{background:#c1c7cd;color:#3c4043;}
.gf-ads-alloc-legend{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px 20px;
  margin-top:14px;font-size:.78rem;color:#3c4043;
}
.gf-ads-alloc-legend > div{display:flex;align-items:center;gap:8px;}
.gf-ads-alloc-legend .sw{width:12px;height:12px;border-radius:2px;flex-shrink:0;}
.gf-ads-alloc-legend .sw.a{background:#1a73e8;}
.gf-ads-alloc-legend .sw.b{background:#4285f4;}
.gf-ads-alloc-legend .sw.c{background:#f9ab00;}
.gf-ads-alloc-legend .sw.d{background:#ea4335;}
.gf-ads-alloc-legend .sw.e{background:#c1c7cd;}
.gf-ads-alloc-legend .val{color:#5f6368;margin-left:auto;font-variant-numeric:tabular-nums;font-weight:600;}

/* -- Account Structure tree -- */
.gf-ads-tree{margin-top:6px;font-size:.84rem;color:#3c4043;}
.gf-ads-tree ul{list-style:none;margin:0;padding:0 0 0 24px;position:relative;}
.gf-ads-tree > ul{padding-left:0;}
.gf-ads-tree ul ul{border-left:1px dashed #d3dbe0;margin-left:6px;padding-left:22px;}
.gf-ads-tree li{padding:7px 0;position:relative;}
.gf-ads-tree li > .row{display:flex;align-items:center;gap:10px;}
.gf-ads-tree .icn{
  width:20px;height:20px;border-radius:3px;flex-shrink:0;
  background:#e8f0fe;color:#1a73e8;
  display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;
}
.gf-ads-tree .icn.acc{background:#e6f4ea;color:#137333;}
.gf-ads-tree .icn.grp{background:#fff0d6;color:#8a5900;}
.gf-ads-tree .icn.kw {background:#fce8e6;color:#c5221f;}
.gf-ads-tree .lbl{font-weight:500;color:#202124;}
.gf-ads-tree .meta{margin-left:auto;font-size:.72rem;color:#5f6368;}
.gf-ads-tree ul ul li::before{
  content:"";position:absolute;left:-16px;top:16px;width:12px;height:1px;background:#d3dbe0;
}

/* -- Tracking Flow Diagram: horizontal nodes + arrows -- */
.gf-ads-flow{
  display:flex;align-items:stretch;justify-content:space-between;gap:10px;
  padding:8px 0;overflow-x:auto;
}
.gf-ads-flow-node{
  flex:1;min-width:120px;
  border:1.5px solid #dadce0;border-radius:8px;padding:12px 10px 10px;
  background:#fff;text-align:center;position:relative;
}
.gf-ads-flow-node .step{
  font-size:.6rem;font-weight:700;letter-spacing:.08em;color:#5f6368;
  text-transform:uppercase;
}
.gf-ads-flow-node .name{
  font-size:.82rem;font-weight:600;color:#202124;margin-top:4px;line-height:1.2;
}
.gf-ads-flow-node .st{
  font-size:.62rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:2px 6px;border-radius:2px;margin-top:8px;display:inline-block;
  background:#e6f4ea;color:#137333;
}
.gf-ads-flow-node.warn{border-color:#f9ab00;background:#fef7e0;}
.gf-ads-flow-node.warn .st{background:#fef7e0;color:#8a5900;border:1px solid #f9ab00;}
.gf-ads-flow-node.bad{border-color:#ea4335;background:#fce8e6;}
.gf-ads-flow-node.bad .st{background:#fce8e6;color:#c5221f;border:1px solid #ea4335;}
.gf-ads-flow-arrow{
  align-self:center;flex:0 0 auto;
  color:#c1c7cd;font-size:1.4rem;font-weight:900;
}
.gf-ads-flow-arrow.bad{color:#ea4335;}
@media(max-width:640px){
  .gf-ads-flow{flex-direction:column;}
  .gf-ads-flow-arrow{transform:rotate(90deg);padding:4px 0;}
}

/* -- Logo dot variants for GA4 and Merchant Centre -- */
.gf-ads-mock-toolbar .logo-dot.ga4{
  background:conic-gradient(from 0deg,#F9AB00 0 33%,#E37400 33% 66%,#FFB100 66% 100%);
}
.gf-ads-mock-toolbar .logo-dot.mc{
  background:#4285f4;
  position:relative;
}
.gf-ads-mock-toolbar .logo-dot.mc::after{
  content:"";position:absolute;inset:3px;border-radius:50%;background:#fff;
}

/* ---------- Fascination bullets: wide, 2-column, breaks the frame - */
.gf-fasc-wide{
  max-width:1000px;
  margin:0 auto;
  padding:0 24px;
}
.gf-fasc-head{margin-bottom:26px;}
.gf-fasc-eyebrow{
  display:inline-block;
  font-family:'Outfit',sans-serif;font-weight:800;
  font-size:.78rem;letter-spacing:.18em;
  color:var(--gf-orange);text-transform:uppercase;
  padding-bottom:10px;
  border-bottom:2px solid var(--gf-orange);
}
.gf-fasc{
  list-style:none;margin:0;padding:0;counter-reset:fasc;
  display:grid;grid-template-columns:1fr;gap:0 48px;
}
.gf-fasc--two-col{grid-template-columns:1fr;}
@media(min-width:720px){
  .gf-fasc--two-col{grid-template-columns:1fr 1fr;}
}
.gf-fasc li{
  display:grid;grid-template-columns:44px 1fr;align-items:start;gap:16px;
  padding:16px 0;
  font-size:1.08rem;font-weight:500;color:var(--gf-ink);
  line-height:1.4;
  border-bottom:1px solid rgba(15,15,15,.08);
  counter-increment:fasc;
}
.gf-fasc li:last-child{border-bottom:none;}
/* On desktop the LAST item of the LEFT column also loses its border */
@media(min-width:720px){
  .gf-fasc--two-col li:nth-last-child(2){border-bottom:none;}
}
.gf-fasc li::before{
  content:counter(fasc,decimal-leading-zero);
  font-family:'Outfit',sans-serif;font-weight:900;font-size:1.5rem;
  color:var(--gf-orange);letter-spacing:-.03em;line-height:1;
  padding-top:2px;
}
.gf-fasc-closer{
  font-family:'Fraunces',serif;font-style:italic;
  font-size:1.2rem;color:var(--gf-ink);
  border-top:2px solid var(--gf-line);
  padding-top:22px;margin-top:24px;
  max-width:720px;
}
@media(max-width:520px){
  .gf-fasc-wide{padding:0 18px;}
  .gf-fasc li{grid-template-columns:34px 1fr;gap:12px;font-size:1rem;padding:14px 0;}
  .gf-fasc li::before{font-size:1.2rem;}
  .gf-fasc-closer{font-size:1.05rem;}
}

/* ---------- Primary CTA (button + microcopy) ------------------- */
.gf-cta-panel{
  margin:44px auto;
  padding:24px;
  max-width:var(--gf-w-mid);
  text-align:center;
}
.gf-cta-panel--boxed{
  background:var(--gf-paper);
  border:1px solid var(--gf-line);
  border-radius:4px;
  padding:36px 24px;
  box-shadow:0 24px 44px rgba(15,15,15,.06);
}
/* =====================================================================
   MODERN DIRECT-RESPONSE CTA (2026 style)
   Flat, confident, colored drop shadow, animated arrow puck (CSS-only).
   ================================================================== */
.gf-cta{
  display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;
  background:var(--gf-orange);color:#fff;
  padding:20px 84px 22px 32px;    /* right padding leaves room for arrow puck */
  border-radius:12px;
  font-family:'Outfit',sans-serif;font-weight:800;
  text-align:left;text-decoration:none;
  border:none;
  position:relative;
  box-shadow:
    0 12px 28px -8px rgba(255,107,43,.55),
    0 4px 10px -2px rgba(15,15,15,.08);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
  max-width:100%;cursor:pointer;
  line-height:1.2;
}
.gf-cta::after{
  content:"";position:absolute;
  right:18px;top:50%;transform:translateY(-50%);
  width:44px;height:44px;border-radius:50%;
  background:rgba(0,0,0,.16) no-repeat center/16px 16px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M5 12h14M13 5l7 7-7 7' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  transition:background-color .22s ease, transform .22s ease;
}
.gf-cta:hover{
  background:var(--gf-orange-dk);
  transform:translateY(-3px);
  box-shadow:
    0 16px 34px -10px rgba(255,107,43,.65),
    0 6px 14px -2px rgba(15,15,15,.1);
}
.gf-cta:hover::after{
  background-color:rgba(0,0,0,.26);
  transform:translateY(-50%) translateX(4px);
}
.gf-cta:active{transform:translateY(-1px);}
.gf-cta .main{
  font-size:clamp(1.02rem,2.4vw,1.24rem);
  font-weight:900;letter-spacing:-.005em;
  text-transform:uppercase;
}
.gf-cta .sub{
  font-size:.82rem;font-weight:600;
  color:rgba(255,255,255,.86);
  letter-spacing:.01em;
}
/* Centered variant (when panel is text-align:center) */
.gf-cta-panel .gf-cta{align-items:flex-start;}

/* Mini reassurance note beneath a CTA (functional label) */
.gf-cta-note{
  margin-top:16px;font-size:.88rem;color:var(--gf-mute);
  display:flex;align-items:center;gap:8px;justify-content:center;
}
.gf-cta-note::before{
  content:"";flex-shrink:0;
  width:14px;height:14px;border-radius:50%;
  background:#38b552;
  box-shadow:0 0 0 3px rgba(56,181,82,.15);
}

/* Panel that hosts a big-moment CTA */
.gf-cta-panel{
  margin:44px auto;
  padding:24px;
  max-width:var(--gf-w-mid);
  text-align:center;
}
.gf-cta-panel--boxed{
  background:var(--gf-paper);
  border:1px solid var(--gf-line);
  border-radius:12px;
  padding:36px 28px;
  box-shadow:0 24px 60px -20px rgba(15,15,15,.14),0 4px 10px -2px rgba(15,15,15,.04);
}
.gf-cta-panel--boxed::before{content:none;}

.gf-section--dark .gf-cta-panel--boxed{
  background:rgba(255,255,255,.03);
  border-color:rgba(255,255,255,.08);
  box-shadow:none;
}
.gf-section--dark .gf-cta-note{color:rgba(255,255,255,.9);}
.gf-cta-arrow{display:none;}

/* Dark section CTA variants */
.gf-section--dark .gf-cta-panel--boxed{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);box-shadow:none;}
.gf-section--dark .gf-cta-note{color:rgba(255,255,255,.9);}

/* ---------- Price panel: Commercial Value Statement --------------- */
.gf-price{
  max-width:var(--gf-w-mid);margin:52px auto;
  background:var(--gf-paper);
  border:1px solid var(--gf-line);border-radius:14px;
  overflow:hidden;
  box-shadow:0 40px 80px -30px rgba(15,15,15,.24),0 6px 14px -2px rgba(15,15,15,.05);
  position:relative;
}
/* Editorial navy top strip - reads like a certificate/document */
.gf-price-head{
  background:var(--gf-navy);color:#fff;
  padding:14px 26px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-size:.7rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;
}
.gf-price-head::before{
  content:"";width:10px;height:10px;border-radius:50%;
  background:var(--gf-orange);flex-shrink:0;
}
.gf-price-head .id{color:rgba(255,255,255,.55);letter-spacing:.14em;font-weight:600;}

/* Main body: two big columns split by a vertical divider */
.gf-price-body{
  display:grid;grid-template-columns:1fr 1fr;
  align-items:stretch;
}
.gf-price-col{
  padding:36px 28px 30px;text-align:center;
  display:flex;flex-direction:column;justify-content:center;
}
.gf-price-col + .gf-price-col{border-left:1px solid var(--gf-line);}
.gf-price-col-lbl{
  font-size:.7rem;font-weight:800;letter-spacing:.18em;
  color:var(--gf-mute);text-transform:uppercase;margin:0 0 14px;
}
.gf-price-strike{
  font-family:'Outfit',sans-serif;font-weight:900;
  font-size:clamp(2.4rem,5vw,3.4rem);
  color:var(--gf-mute);
  line-height:1;letter-spacing:-.03em;
  position:relative;display:inline-block;margin:0 auto;
}
.gf-price-strike::after{
  content:"";position:absolute;left:-6%;right:-6%;top:52%;height:5px;
  background:var(--gf-red);border-radius:2px;transform:rotate(-6deg);
}
.gf-price-free-col{
  background:var(--gf-orange);color:#fff;
}
.gf-price-free-col .gf-price-col-lbl{color:rgba(255,255,255,.85);}
.gf-price-free{
  font-family:'Outfit',sans-serif;font-weight:900;
  font-size:clamp(3rem,6.5vw,4.6rem);
  color:#fff;
  line-height:1;letter-spacing:-.035em;
}
.gf-price-foot{
  padding:16px 26px;
  border-top:1px solid var(--gf-line);
  font-size:.86rem;color:var(--gf-mute);text-align:center;
  background:var(--gf-cream);
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.gf-price-foot::before{
  content:"";width:8px;height:8px;border-radius:50%;
  background:#38b552;box-shadow:0 0 0 3px rgba(56,181,82,.15);
  flex-shrink:0;
}
@media(max-width:640px){
  .gf-price-body{grid-template-columns:1fr;}
  .gf-price-col + .gf-price-col{border-left:none;border-top:1px solid var(--gf-line);}
  .gf-price-head{padding:12px 20px;font-size:.62rem;letter-spacing:.14em;}
  .gf-price-col{padding:28px 20px 24px;}
}

/* ---------- Reusable big-stat callouts (editorial pull-out) --- */
.gf-stats{
  max-width:var(--gf-w-mid);margin:44px auto;
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.gf-stat{
  background:var(--gf-paper);
  border:1px solid var(--gf-line);border-radius:12px;
  padding:24px 20px;text-align:center;
}
.gf-stat-num{
  font-family:'Outfit',sans-serif;font-weight:900;
  font-size:clamp(2rem,4.4vw,3rem);color:var(--gf-orange);
  line-height:1;letter-spacing:-.03em;
}
.gf-stat-label{
  font-size:.78rem;font-weight:700;
  color:var(--gf-mute);letter-spacing:.08em;text-transform:uppercase;
  margin-top:10px;line-height:1.35;
}
@media(max-width:640px){.gf-stats{grid-template-columns:1fr;}}

/* ---------- Offer stack --------------------------------------- */
.gf-stack{
  max-width:var(--gf-w-mid);margin:32px auto;
  display:grid;gap:20px;
}
.gf-stack-item{
  background:var(--gf-paper);
  border:1px solid var(--gf-line);
  border-radius:4px;
  padding:28px 28px 30px;
  display:grid;grid-template-columns:64px 1fr auto;gap:20px;align-items:start;
  box-shadow:0 10px 26px rgba(15,15,15,.04);
}
.gf-stack-icon{
  width:56px;height:56px;border-radius:50%;
  background:var(--gf-orange-tint);color:var(--gf-orange);
  display:flex;align-items:center;justify-content:center;
}
.gf-stack-body h3{
  font-family:'Outfit',sans-serif;font-weight:900;font-size:1.3rem;line-height:1.2;
  color:var(--gf-ink);margin:0 0 8px;
}
.gf-stack-body p{font-size:1rem;line-height:1.55;color:var(--gf-body);margin:0;}
.gf-stack-body p + p{margin-top:10px;}
.gf-stack-value{
  align-self:start;font-size:.82rem;font-weight:800;color:var(--gf-orange-dk);
  background:var(--gf-orange-tint);padding:6px 10px;border-radius:2px;letter-spacing:.03em;
  text-transform:uppercase;white-space:nowrap;
}
.gf-stack-total{
  text-align:center;padding:20px;
  border-top:1px dashed rgba(15,15,15,.2);margin-top:8px;
  font-family:'Outfit',sans-serif;font-weight:800;font-size:1.15rem;color:var(--gf-ink);
}
.gf-stack-total .amt{color:var(--gf-orange);font-size:1.4rem;}

/* ---------- Guarantee ----------------------------------------- */
.gf-guarantee{
  max-width:var(--gf-w-mid);margin:44px auto;
  background:var(--gf-paper);
  border:2px solid var(--gf-orange);border-radius:4px;
  padding:36px 32px;
  display:grid;grid-template-columns:120px 1fr;gap:28px;align-items:center;
  box-shadow:0 26px 46px rgba(15,15,15,.08);
}
.gf-seal{
  position:relative;
  width:140px;height:140px;
  border-radius:50%;background:var(--gf-orange);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
  transform:rotate(-8deg);
  font-family:'Outfit',sans-serif;
}
.gf-seal::before{
  content:"";position:absolute;inset:8px;
  border:2px solid rgba(255,255,255,.35);border-radius:50%;
}
.gf-seal .big{font-weight:900;font-size:2.4rem;line-height:1;letter-spacing:-.03em;}
.gf-seal .small{font-size:.6rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-top:3px;line-height:1.2;}

.gf-guarantee-body h3{font-family:'Outfit',sans-serif;font-weight:900;font-size:1.5rem;color:var(--gf-ink);margin:0 0 10px;line-height:1.1;}
.gf-guarantee-body .gf-p{font-size:1rem;line-height:1.6;margin-bottom:12px;}
.gf-guarantee-body .gf-p:last-child{margin-bottom:0;}
@media(max-width:640px){
  .gf-guarantee{grid-template-columns:1fr;text-align:center;padding:28px 22px;gap:20px;}
  .gf-seal{margin:0 auto;}
}

/* ---------- Scarcity ------------------------------------------ */
.gf-scarcity{padding:60px 0;}
.gf-scarcity-inner{max-width:var(--gf-w-mid);margin:0 auto;padding:0 24px;text-align:center;}
.gf-scarcity h2{color:#fff;}
.gf-scarcity-meter{
  display:inline-flex;gap:18px;margin:32px auto 12px;padding:26px 34px;
  background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.22);
  border-radius:4px;
  align-items:center;
}
.gf-scarcity-slot{
  width:64px;height:64px;
  border:2.5px solid var(--gf-orange);
  border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  font-family:'Permanent Marker',cursive;
  color:var(--gf-orange);font-size:1.5rem;
  transform:rotate(-2deg);
  background:rgba(255,255,255,.03);
}
.gf-scarcity-slot:nth-child(even){transform:rotate(1.5deg);}
.gf-scarcity-slot.taken{
  background:var(--gf-orange);color:#fff;border-color:var(--gf-orange);
  position:relative;
}
.gf-scarcity-slot.taken::after{
  content:"";position:absolute;inset:0;
  background:no-repeat center/85% 85% url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4 5 L 20 19 M20 5 L 4 19' stroke='white' stroke-width='3' stroke-linecap='round'/></svg>");
}
.gf-scarcity-caption{
  margin-top:18px;font-family:'Permanent Marker',cursive;font-size:1.15rem;
  color:#fff;transform:rotate(-1deg);
}
.gf-scarcity-caption em{color:var(--gf-orange);font-style:normal;}

/* ---------- FAQ accordion ------------------------------------- */
.gf-faq{max-width:var(--gf-w-mid);margin:20px auto 0;padding:0 24px;}
.gf-faq-item{
  border-top:1px solid var(--gf-line);
}
.gf-faq-item:last-child{border-bottom:1px solid var(--gf-line);}
.gf-faq-q{
  width:100%;text-align:left;
  padding:22px 0;
  display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  font-family:'Outfit',sans-serif;font-weight:800;font-size:1.15rem;line-height:1.3;
  color:var(--gf-ink);
  cursor:pointer;
}
.gf-faq-q:hover{color:var(--gf-orange);}
.gf-faq-q:focus-visible{outline:2px solid var(--gf-ink);outline-offset:4px;}
.gf-faq-icon{
  flex-shrink:0;
  width:32px;height:32px;border-radius:50%;
  background:var(--gf-orange-tint);color:var(--gf-orange);
  display:flex;align-items:center;justify-content:center;
  transition:transform .25s;
  position:relative;top:2px;
}
.gf-faq-icon::before,.gf-faq-icon::after{
  content:"";position:absolute;background:currentColor;border-radius:1px;
}
.gf-faq-icon::before{width:12px;height:2px;}
.gf-faq-icon::after {width:2px;height:12px;transition:transform .25s;}
.gf-faq-item.open .gf-faq-icon{background:var(--gf-orange);color:#fff;}
.gf-faq-item.open .gf-faq-icon::after{transform:scaleY(0);}
.gf-faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .32s cubic-bezier(.2,.8,.2,1);
}
.gf-faq-a-inner{padding:0 0 26px;}
.gf-faq-a-inner .gf-p{font-size:1.05rem;color:var(--gf-body);}
.gf-faq-a-inner .gf-p:last-child{margin-bottom:0;}

/* ---------- HVCO (secondary Blueprint offer) ------------------ */
.gf-hvco{
  background:var(--gf-cream);
  padding:64px 0;border-top:1px solid var(--gf-line);border-bottom:1px solid var(--gf-line);
}
.gf-hvco-inner{
  max-width:var(--gf-w-mid);margin:0 auto;padding:0 24px;
  display:grid;grid-template-columns:180px 1fr;gap:32px;align-items:center;
}
.gf-hvco-cover{
  width:100%;max-width:180px;
  filter:drop-shadow(0 20px 26px rgba(0,0,0,.22));
}
.gf-hvco-copy .eyebrow{
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gf-mute);font-weight:800;margin:0 0 8px;
}
.gf-hvco-copy h3{
  font-family:'Outfit',sans-serif;font-weight:900;
  font-size:clamp(1.4rem,2.6vw,1.9rem);color:var(--gf-ink);
  margin:0 0 12px;line-height:1.15;
}
.gf-hvco-copy p{font-size:1.02rem;color:var(--gf-body);line-height:1.6;margin:0 0 16px;}
.gf-hvco-cta{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;color:var(--gf-ink);
  padding:12px 22px;border:1.5px solid var(--gf-ink);border-radius:3px;
  font-weight:700;font-size:.9rem;letter-spacing:.01em;
  transition:background .14s,color .14s,transform .14s;
}
.gf-hvco-cta:hover{background:var(--gf-ink);color:#fff;transform:translateY(-1px);}
@media(max-width:640px){
  .gf-hvco-inner{grid-template-columns:1fr;text-align:center;gap:24px;}
  .gf-hvco-cover{max-width:140px;margin:0 auto;}
}

/* ---------- Final close --------------------------------------- */
.gf-close{
  padding:96px 0 72px;
  background:var(--gf-navy);
  background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.06) 1px,transparent 0);
  background-size:22px 22px;
  color:#f5f0e6;
  text-align:center;position:relative;
}
.gf-close .gf-h2{color:#fff;}
.gf-close .gf-h2 em{color:var(--gf-orange);}
.gf-close .gf-p{color:rgba(255,255,255,.92);}
.gf-close .gf-p em{color:#fff;font-style:italic;}
.gf-close .gf-p strong{color:#fff;}
.gf-close .gf-eyebrow{color:rgba(255,255,255,.8);}
.gf-close-signature{
  margin-top:36px;display:flex;flex-direction:column;align-items:center;gap:8px;
}
.gf-close-signature img{
  width:88px;height:88px;border-radius:50%;object-fit:cover;object-position:center 20%;
  border:3px solid rgba(255,255,255,.14);
}
.gf-close-signature .name{font-family:'Fraunces',serif;font-style:italic;font-size:1.35rem;color:#fff;}
.gf-close-signature .role{font-size:.82rem;color:rgba(255,255,255,.6);letter-spacing:.05em;text-transform:uppercase;}

/* ---------- YouTube feed (Latest from YouTube section) ------- */
.gf-yt{padding:80px 0;background:var(--gf-paper);border-top:1px solid var(--gf-line);border-bottom:1px solid var(--gf-line);}
.gf-yt-inner{max-width:var(--gf-w-wide);margin:0 auto;padding:0 24px;}
.gf-yt-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:36px;}
.gf-yt-top .gf-eyebrow{margin-bottom:14px;}
.gf-yt-top h2{
  font-family:'Outfit',sans-serif;font-weight:900;
  font-size:clamp(1.8rem,3.6vw,2.6rem);
  line-height:1.05;letter-spacing:-.03em;color:var(--gf-ink);
  margin:0;text-wrap:balance;
}
.gf-yt-top h2 em{font-style:normal;color:var(--gf-orange);}
.gf-yt-viewall{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.86rem;font-weight:700;color:var(--gf-body);
  padding:10px 18px;border:1.5px solid rgba(15,15,15,.15);border-radius:6px;
  text-decoration:none;transition:background .14s,color .14s;
}
.gf-yt-viewall:hover{background:var(--gf-ink);color:#fff;border-color:var(--gf-ink);}
.gf-yt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.blog-card{
  background:var(--gf-paper);border:1px solid var(--gf-line);border-radius:6px;overflow:hidden;
  transition:box-shadow .2s,transform .2s;
}
.blog-card:hover{box-shadow:0 12px 28px rgba(15,15,15,.1);transform:translateY(-3px);}
.blog-body{padding:18px 20px 22px;}
.blog-tag{
  display:inline-block;font-size:.62rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gf-orange-dk);background:var(--gf-orange-tint);
  padding:3px 9px;border-radius:2px;margin-bottom:10px;
}
.blog-card h3{
  font-family:'Outfit',sans-serif;
  font-size:.95rem;font-weight:700;color:var(--gf-ink);
  line-height:1.4;margin:0 0 10px;letter-spacing:-.01em;
}
.blog-card p{font-size:.82rem;color:var(--gf-mute);line-height:1.55;font-weight:400;margin:0 0 14px;}
.blog-link{
  font-size:.78rem;font-weight:700;color:var(--gf-orange);
  display:inline-flex;align-items:center;gap:5px;transition:gap .15s;
}
.blog-card:hover .blog-link{gap:9px;}
.yt-skeleton{
  background:var(--gf-cream);border:1px solid var(--gf-line);border-radius:6px;
  overflow:hidden;height:260px;position:relative;
}
.yt-skeleton::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.65) 50%,transparent 100%);
  animation:gf-shimmer 1.4s infinite;
}
@keyframes gf-shimmer{0%{transform:translateX(-100%);}100%{transform:translateX(100%);}}
.yt-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111;}
.yt-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
.blog-card:hover .yt-thumb img{transform:scale(1.03);}
.yt-play{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(0,0,0,.2);transition:background .2s;
}
.blog-card:hover .yt-play{background:rgba(0,0,0,.35);}
.yt-play-btn{
  width:52px;height:52px;background:rgba(255,255,255,.94);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}
.yt-play-btn svg{margin-left:3px;}
@media(max-width:900px){
  .gf-yt-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .gf-yt{padding:56px 0;}
  .gf-yt-grid{
    display:flex;flex-direction:row;overflow-x:auto;gap:14px;
    scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:12px;
    scrollbar-width:thin;
  }
  .gf-yt-grid::-webkit-scrollbar{height:3px;}
  .gf-yt-grid::-webkit-scrollbar-track{background:var(--gf-line);}
  .gf-yt-grid::-webkit-scrollbar-thumb{background:var(--gf-orange);border-radius:3px;}
  .gf-yt-grid .blog-card,.gf-yt-grid .yt-skeleton{flex:0 0 78vw;scroll-snap-align:start;}
  .gf-yt-top{margin-bottom:24px;}
}

/* ---------- Footer ------------------------------------------- */
.gf-footer{
  background:var(--gf-cream-2);border-top:1px solid var(--gf-line);
  padding:44px 24px 40px;
}
.gf-footer-inner{
  max-width:var(--gf-w-mid);margin:0 auto;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.gf-footer-logo{height:24px;margin-bottom:8px;opacity:.9;}
.gf-footer-address{font-size:.78rem;color:var(--gf-mute);}
.gf-footer-legal{font-size:.72rem;color:var(--gf-mute);margin-top:14px;padding-top:14px;border-top:1px solid var(--gf-line);width:100%;max-width:520px;}
.gf-footer-legal a{color:var(--gf-body);text-decoration:underline;}
.gf-footer-legal a:hover{color:var(--gf-orange);}

/* =====================================================================
   PREMIUM APPLICATION JOURNEY (Apple simplicity + direct-response)
   ================================================================== */
.gf-app-body{background:var(--gf-cream);}
.gf-app{
  min-height:100vh;
  background:var(--gf-cream);
  background-image:radial-gradient(circle at 1px 1px,rgba(15,15,15,.05) 1px,transparent 0);
  background-size:22px 22px;
  display:flex;flex-direction:column;
  position:relative;
  padding-bottom:120px;                      /* room for sticky footer nav */
}
.gf-form-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---- Header (logo + close) ---- */
.gf-app-header{
  position:sticky;top:0;z-index:5;
  background:rgba(250,246,238,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--gf-line);
  padding:14px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.gf-app-logo img{height:24px;display:block;}
.gf-app-close{
  font-size:.82rem;font-weight:600;color:var(--gf-mute);
  padding:8px 12px;border-radius:4px;
  transition:color .14s,background .14s;
}
.gf-app-close:hover{color:var(--gf-ink);background:rgba(15,15,15,.05);}

/* ---- Named-stage progress ---- */
.gf-app-progress{
  max-width:var(--gf-w-wide);margin:0 auto;
  padding:20px 24px 8px;
  width:100%;
}
.gf-app-progress ol{
  list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(5,1fr);
  gap:6px;
}
.gf-app-progress .stage{
  display:flex;flex-direction:column;align-items:flex-start;gap:8px;
  padding:10px 0 0;
  border-top:3px solid rgba(15,15,15,.08);
  color:var(--gf-mute);
  font-size:.72rem;font-weight:700;letter-spacing:.02em;line-height:1.25;
  transition:color .18s,border-color .18s;
}
.gf-app-progress .stage.done{border-top-color:var(--gf-orange);color:var(--gf-body);}
.gf-app-progress .stage.active{border-top-color:var(--gf-orange);color:var(--gf-ink);font-weight:800;}
.gf-app-progress .dot{display:none;}
@media(max-width:640px){
  .gf-app-progress{padding:14px 18px 4px;}
  .gf-app-progress ol{grid-template-columns:repeat(5,1fr);gap:4px;}
  .gf-app-progress .stage{font-size:0;line-height:0;padding-top:0;}
  .gf-app-progress .stage.active .label{font-size:.72rem;line-height:1.25;padding-top:8px;display:block;}
}
@media(max-width:640px){
  .gf-app-progress .stage .label{display:none;}
  .gf-app-progress .stage.active .label{display:block;}
}

/* ---- Screen container ---- */
.gf-app-form{flex:1;display:flex;flex-direction:column;}
.gf-app-screen{
  display:none;
  padding:36px 24px 60px;
}
.gf-app-screen.active{
  display:flex;flex-direction:column;
  animation:gf-fade .28s ease;
}
@keyframes gf-fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.gf-app-inner{
  width:100%;max-width:720px;margin:0 auto;
}

/* ---- Typography on screens ---- */
.gf-app-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.72rem;font-weight:800;letter-spacing:.16em;
  color:var(--gf-orange);text-transform:uppercase;
  margin:0 0 20px;
}
.gf-app-eyebrow::before{content:"";width:22px;height:2px;background:var(--gf-orange);}
.gf-app-welcome-h{
  font-family:'Outfit',sans-serif;font-weight:900;
  font-size:clamp(2rem,4.6vw,3rem);
  line-height:1.05;letter-spacing:-.03em;color:var(--gf-ink);
  margin:0 0 22px;text-wrap:balance;
}
.gf-app-welcome-body{
  font-size:1.2rem;line-height:1.7;color:var(--gf-body);
  max-width:600px;
}
.gf-app-welcome-body p{margin:0 0 16px;}
.gf-app-welcome-body p:last-child{margin-bottom:0;}
.gf-app-welcome-body strong{color:var(--gf-ink);font-weight:700;}
.gf-app-welcome-cta{margin-top:36px;}
.gf-app-welcome-note{
  font-size:.9rem;color:var(--gf-mute);margin:16px 0 0;
  display:flex;align-items:center;gap:8px;
}
.gf-app-welcome-note::before{
  content:"";width:10px;height:10px;border-radius:50%;
  background:#38b552;box-shadow:0 0 0 3px rgba(56,181,82,.16);
}

.gf-app-q-h{
  font-family:'Outfit',sans-serif;font-weight:900;
  font-size:clamp(1.6rem,3.6vw,2.4rem);
  line-height:1.15;letter-spacing:-.025em;color:var(--gf-ink);
  margin:0 0 12px;text-wrap:balance;
}
.gf-app-q-h--intro{font-size:clamp(1.75rem,4vw,2.4rem);}
.gf-app-q-help{
  font-size:1.05rem;line-height:1.55;color:var(--gf-mute);
  margin:0 0 24px;
}
.gf-app-q-question{
  font-family:'Outfit',sans-serif;font-weight:800;
  font-size:clamp(1.2rem,2.4vw,1.5rem);
  color:var(--gf-ink);
  margin:28px 0 20px;
}

/* ---- Intro body (used by radio_gate Q9) ---- */
.gf-app-intro-body{
  font-size:1.1rem;line-height:1.65;color:var(--gf-body);
  margin:0 0 8px;
}
.gf-app-intro-body p{margin:0 0 14px;}
.gf-app-intro-body strong{color:var(--gf-ink);}
.gf-app-intro-bullets{list-style:none;margin:6px 0 14px;padding:14px 18px;background:var(--gf-paper);border:1px solid var(--gf-line);border-radius:8px;}
.gf-app-intro-bullets li{
  display:flex;align-items:center;gap:12px;padding:8px 0;font-weight:600;color:var(--gf-ink);
}
.gf-app-intro-bullets li + li{border-top:1px solid var(--gf-line);}
.gf-app-intro-bullets li::before{
  content:"";width:8px;height:8px;border-radius:50%;background:var(--gf-orange);flex-shrink:0;
}
.gf-app-intro-list{list-style:none;margin:6px 0 14px;padding:0;display:grid;gap:8px;}
.gf-app-intro-list li{
  display:flex;align-items:flex-start;gap:12px;padding:8px 0;
  font-size:1.05rem;color:var(--gf-ink);
}
.gf-app-intro-list--tick li::before{
  content:"";flex-shrink:0;width:22px;height:22px;border-radius:50%;
  background:rgba(56,181,82,.14) no-repeat center/14px 14px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M5 12l4.5 4.5L19 7' stroke='%23137333' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}
.gf-app-intro-list--cross li::before{
  content:"";flex-shrink:0;width:22px;height:22px;border-radius:50%;
  background:rgba(201,55,55,.12) no-repeat center/14px 14px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M6 6l12 12M18 6L6 18' stroke='%23c5221f' stroke-width='2.6' stroke-linecap='round'/></svg>");
}

/* ---- Answer container ---- */
.gf-app-answer{margin-top:8px;}

/* ---- Big single-line input ---- */
.gf-app-input{
  width:100%;font-family:'Outfit',sans-serif;font-size:1.35rem;font-weight:500;
  color:var(--gf-ink);background:transparent;
  border:none;border-bottom:2px solid rgba(15,15,15,.15);
  padding:16px 2px;
  transition:border-color .18s;
  -webkit-appearance:none;border-radius:0;
}
.gf-app-input::placeholder{color:var(--gf-mute);font-weight:400;}
.gf-app-input:focus{outline:none;border-bottom-color:var(--gf-orange);}

/* ---- Textarea ---- */
.gf-app-textarea{
  width:100%;font-family:'Outfit',sans-serif;font-size:1.15rem;line-height:1.6;
  color:var(--gf-ink);background:var(--gf-paper);
  border:1.5px solid rgba(15,15,15,.14);border-radius:10px;
  padding:18px 20px;min-height:200px;resize:vertical;
  transition:border-color .18s,box-shadow .18s;
}
.gf-app-textarea::placeholder{color:var(--gf-mute);}
.gf-app-textarea:focus{outline:none;border-color:var(--gf-orange);box-shadow:0 0 0 4px rgba(255,107,43,.14);}

/* ---- Radio choices (Apple-style cards) ---- */
.gf-app-choices{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.gf-app-choices label{
  display:grid;grid-template-columns:34px 1fr 24px;align-items:center;gap:16px;
  background:var(--gf-paper);
  border:1.5px solid rgba(15,15,15,.12);
  border-radius:10px;padding:18px 22px;
  cursor:pointer;
  transition:border-color .16s,background .16s,box-shadow .16s,transform .1s;
  font-weight:500;font-size:1.15rem;color:var(--gf-ink);
}
.gf-app-choices label:hover{border-color:var(--gf-orange);background:#fffdf9;transform:translateY(-1px);}
.gf-app-choices input{
  position:absolute;opacity:0;pointer-events:none;
}
.gf-app-choices .key{
  width:30px;height:30px;border-radius:8px;
  background:rgba(15,15,15,.06);color:var(--gf-mute);
  display:flex;align-items:center;justify-content:center;
  font-family:'Outfit',sans-serif;font-weight:800;font-size:.86rem;
  transition:background .16s,color .16s;
}
.gf-app-choices label:hover .key{background:var(--gf-orange-tint);color:var(--gf-orange);}
.gf-app-choices .chk{
  width:24px;height:24px;border-radius:50%;
  background:rgba(15,15,15,.05);color:transparent;
  display:flex;align-items:center;justify-content:center;
  transition:background .16s,color .16s;
}
.gf-app-choices label.selected{
  border-color:var(--gf-orange);background:#fffaf3;
  box-shadow:0 6px 18px rgba(255,107,43,.16);
}
.gf-app-choices label.selected .key{background:var(--gf-orange);color:#fff;}
.gf-app-choices label.selected .chk{background:var(--gf-orange);color:#fff;}

/* ---- Contact fields ---- */
.gf-app-contact{
  display:grid;grid-template-columns:1fr 1fr;gap:16px 20px;
}
.gf-app-field{display:flex;flex-direction:column;gap:6px;}
.gf-app-field--full{grid-column:1/-1;}
.gf-app-field label{font-size:.8rem;font-weight:700;color:var(--gf-mute);letter-spacing:.04em;text-transform:uppercase;}
.gf-app-field .gf-app-input{font-size:1.1rem;padding:12px 2px;}
.gf-app-field.invalid .gf-app-input{border-bottom-color:var(--gf-red);}
.gf-app-field-err{font-size:.78rem;color:var(--gf-red);font-weight:600;display:none;margin-top:2px;}
.gf-app-field.invalid .gf-app-field-err{display:block;}
.gf-app-consent{
  display:flex;align-items:flex-start;gap:14px;
  padding:16px 18px;background:var(--gf-paper);
  border:1px solid var(--gf-line);border-radius:8px;
  margin-top:6px;cursor:pointer;
}
.gf-app-consent input{
  appearance:none;-webkit-appearance:none;
  width:22px;height:22px;flex-shrink:0;margin-top:1px;
  border:2px solid rgba(15,15,15,.28);border-radius:5px;background:#fff;
  display:grid;place-items:center;transition:background .14s,border-color .14s;
}
.gf-app-consent input:checked{background:var(--gf-orange);border-color:var(--gf-orange);}
.gf-app-consent input:checked::after{content:"";width:11px;height:6px;border:2px solid #fff;border-top:none;border-right:none;transform:rotate(-45deg) translate(1px,-1px);}
.gf-app-consent .text{font-size:.94rem;line-height:1.55;color:var(--gf-body);}
.gf-app-consent .text a{color:var(--gf-orange);font-weight:700;text-decoration:underline;}
.gf-app-consent.invalid{border-color:var(--gf-red);background:#fff9f8;}
@media(max-width:640px){.gf-app-contact{grid-template-columns:1fr;}}

/* ---- Error message ---- */
.gf-app-err{
  margin:20px 0 0;
  padding:12px 14px;
  background:#fff2ee;border:1px solid rgba(201,55,55,.35);
  color:#8a2323;font-size:.92rem;font-weight:600;border-radius:6px;
  display:none;
}
.gf-app-err.show{display:block;}

/* ---- Primary CTA on welcome screen ---- */
.gf-app-cta{
  display:inline-flex;align-items:center;gap:14px;
  background:var(--gf-orange);color:#fff;
  padding:20px 34px 22px;border-radius:12px;
  font-family:'Outfit',sans-serif;font-weight:800;font-size:1.14rem;
  text-align:left;text-decoration:none;border:none;
  box-shadow:0 12px 28px -8px rgba(255,107,43,.55),0 4px 10px -2px rgba(15,15,15,.08);
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
  cursor:pointer;
}
.gf-app-cta:hover{
  background:var(--gf-orange-dk);transform:translateY(-3px);
  box-shadow:0 16px 34px -10px rgba(255,107,43,.65),0 6px 14px -2px rgba(15,15,15,.1);
}
.gf-app-cta .arrow{transition:transform .22s ease;}
.gf-app-cta:hover .arrow{transform:translateX(4px);}
.gf-app-cta--muted{
  background:transparent;color:var(--gf-body);
  border:1.5px solid rgba(15,15,15,.15);
  box-shadow:none;
}
.gf-app-cta--muted:hover{background:rgba(15,15,15,.05);color:var(--gf-ink);}

/* ---- Sticky footer nav ---- */
.gf-app-nav{
  position:fixed;bottom:0;left:0;right:0;z-index:6;
  background:rgba(250,246,238,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-top:1px solid var(--gf-line);
  padding:16px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
}
.gf-app-nav.hidden{display:none;}
.gf-app-nav-status{flex:1;text-align:center;font-size:.8rem;color:var(--gf-mute);}
.gf-app-back{
  background:none;border:none;color:var(--gf-mute);
  font-size:.95rem;font-weight:600;cursor:pointer;
  padding:12px 8px;display:inline-flex;align-items:center;gap:6px;
  transition:color .14s;
}
.gf-app-back:hover{color:var(--gf-ink);}
.gf-app-next{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--gf-orange);color:#fff;
  padding:14px 24px;border-radius:8px;border:none;cursor:pointer;
  font-family:'Outfit',sans-serif;font-weight:800;font-size:1rem;
  box-shadow:0 10px 22px -6px rgba(255,107,43,.5),0 3px 8px -2px rgba(15,15,15,.06);
  transition:background .14s,transform .14s,box-shadow .14s;
}
.gf-app-next:hover:not(:disabled){background:var(--gf-orange-dk);transform:translateY(-2px);}
.gf-app-next:disabled{opacity:.7;cursor:not-allowed;}
.gf-app-next .arrow{transition:transform .18s;}
.gf-app-next:hover:not(:disabled) .arrow{transform:translateX(3px);}
.gf-app-next .spinner{
  display:none;width:14px;height:14px;
  border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;
  animation:gf-spin .8s linear infinite;
}
.gf-app-next.loading .spinner{display:inline-block;}
.gf-app-next.loading .arrow{display:none;}
.gf-app-next.loading .label{opacity:.6;}
@keyframes gf-spin{to{transform:rotate(360deg);}}

/* ---- Gate / hard-block screen ---- */
.gf-app-screen--gate .gf-app-inner{text-align:center;max-width:600px;}
.gf-app-gate-icon{
  width:76px;height:76px;border-radius:50%;
  background:rgba(201,55,55,.12);color:#c5221f;
  display:inline-flex;align-items:center;justify-content:center;
  margin:0 auto 22px;
}
.gf-app-screen--gate .gf-app-welcome-body{margin:0 auto;text-align:center;}
.gf-app-gate-actions{
  margin-top:32px;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
}
.gf-app-gate-actions .gf-app-back,.gf-app-gate-actions .gf-app-cta{padding:14px 22px;}
.gf-app-gate-actions .gf-app-back{background:transparent;border:1.5px solid rgba(15,15,15,.15);border-radius:8px;color:var(--gf-body);}
.gf-app-gate-actions .gf-app-back:hover{background:rgba(15,15,15,.05);color:var(--gf-ink);}

@media(max-width:520px){
  .gf-app-inner{max-width:100%;}
  .gf-app-input{font-size:1.15rem;}
  .gf-app-choices label{font-size:1.05rem;padding:16px 18px;grid-template-columns:28px 1fr 20px;gap:12px;}
  .gf-app-choices .key{width:26px;height:26px;font-size:.78rem;}
  .gf-app-screen{padding:24px 18px 40px;}
  .gf-app-nav{padding:14px 18px;}
  .gf-app-next{padding:12px 18px;font-size:.94rem;}
  .gf-app-welcome-body{font-size:1.08rem;}
  .gf-app-intro-body{font-size:1rem;}
  .gf-app-intro-list li{font-size:1rem;}
}

/* ---------- THANKS PAGE ---------------------------------------- */
.gf-ty{
  min-height:100vh;background:linear-gradient(180deg,var(--gf-cream) 0%,#f2ecdc 100%);
  display:flex;align-items:center;justify-content:center;padding:60px 24px;
}
.gf-ty-inner{max-width:640px;text-align:center;}
.gf-ty-dot{
  width:72px;height:72px;border-radius:50%;
  background:var(--gf-orange-tint);color:var(--gf-orange);
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:24px;
}
.gf-ty h1{
  font-family:'Outfit',sans-serif;font-weight:900;
  font-size:clamp(1.9rem,4.4vw,2.8rem);
  line-height:1.05;letter-spacing:-.028em;color:var(--gf-ink);
  margin:0 0 20px;text-wrap:balance;
}
.gf-ty .gf-p{max-width:520px;margin-left:auto;margin-right:auto;}
.gf-ty-nextsteps{
  margin:36px auto;padding:26px;
  background:var(--gf-paper);border:1px solid var(--gf-line);border-radius:4px;
  max-width:520px;text-align:left;
}
.gf-ty-nextsteps h2{font-family:'Outfit',sans-serif;font-weight:800;font-size:1.1rem;margin:0 0 12px;color:var(--gf-ink);}
.gf-ty-nextsteps ol{margin:0;padding-left:20px;}
.gf-ty-nextsteps li{font-size:.98rem;color:var(--gf-body);line-height:1.55;margin-bottom:8px;}
.gf-ty-mark{
  margin-top:32px;display:flex;align-items:center;gap:14px;justify-content:center;
  padding:20px;background:var(--gf-cream-2);border-radius:4px;max-width:520px;margin-left:auto;margin-right:auto;
}
.gf-ty-mark img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center 20%;}
.gf-ty-mark p{text-align:left;font-size:.95rem;color:var(--gf-body);line-height:1.5;margin:0;}
.gf-ty-mark p strong{color:var(--gf-ink);}
.gf-ty-blueprint{
  margin-top:44px;padding-top:32px;border-top:1px dashed var(--gf-line);
  font-size:.92rem;color:var(--gf-mute);
}
.gf-ty-blueprint a{color:var(--gf-orange);font-weight:700;text-decoration:underline;}
.gf-ty-home{margin-top:22px;font-size:.85rem;color:var(--gf-mute);}
.gf-ty-home a{color:var(--gf-body);text-decoration:underline;}

/* =====================================================================
   NEW THANK-YOU / ACCESS-GRANT EXPERIENCE
   ================================================================== */
.gf-ty2{
  min-height:100vh;
  background:var(--gf-cream);
  background-image:radial-gradient(circle at 1px 1px,rgba(15,15,15,.05) 1px,transparent 0);
  background-size:22px 22px;
}
.gf-ty2-inner{
  max-width:820px;margin:0 auto;padding:0 24px;
}
.gf-ty2-head{padding:48px 0 24px;}
.gf-ty2-head .gf-app-eyebrow{margin-bottom:14px;}
.gf-ty2-h1{
  font-family:'Outfit',sans-serif;font-weight:900;
  font-size:clamp(2.2rem,5vw,3.4rem);
  line-height:1.02;letter-spacing:-.03em;color:var(--gf-ink);
  margin:0 0 24px;text-wrap:balance;
}
.gf-ty2-h1 em{
  font-family:'Fraunces',serif;font-style:italic;font-weight:500;
  color:var(--gf-orange);
}
.gf-ty2-lead{
  font-size:1.18rem;line-height:1.65;color:var(--gf-body);
  margin:0 0 14px;max-width:640px;
}
.gf-ty2-lead:last-child{margin-bottom:0;}
.gf-ty2-lead strong{color:var(--gf-ink);}

/* ---- 3-step list ---- */
.gf-ty2-steps{padding:24px 0 80px;}
.gf-ty2-steps-list{
  list-style:none;margin:0 0 48px;padding:0;
  display:grid;gap:16px;
}
.gf-ty2-step{
  display:grid;grid-template-columns:110px 1fr;gap:24px;align-items:start;
  padding:26px 28px;
  background:var(--gf-paper);
  border:1px solid var(--gf-line);border-radius:14px;
  box-shadow:0 18px 40px -20px rgba(15,15,15,.14),0 3px 8px -2px rgba(15,15,15,.04);
}
.gf-ty2-step-num{
  font-family:'Outfit',sans-serif;font-weight:900;
  font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gf-orange);
  background:var(--gf-orange-tint);
  padding:8px 14px;border-radius:6px;
  text-align:center;align-self:start;
}
.gf-ty2-step-body h2{
  font-family:'Outfit',sans-serif;font-weight:800;
  font-size:1.35rem;color:var(--gf-ink);
  margin:0 0 8px;letter-spacing:-.01em;
}
.gf-ty2-step-body p{
  font-size:1.05rem;line-height:1.6;color:var(--gf-body);
  margin:0 0 10px;
}
.gf-ty2-step-body p strong{color:var(--gf-ink);}
.gf-ty2-email{
  margin:6px 0 16px;
}
.gf-ty2-email code{
  display:inline-block;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;font-weight:600;
  padding:8px 14px;border-radius:6px;
  background:var(--gf-cream-2);color:var(--gf-ink);
  border:1px solid var(--gf-line);
}
.gf-ty2-tick{
  list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px;
}
.gf-ty2-tick li{
  display:flex;align-items:center;gap:12px;
  font-size:1.05rem;color:var(--gf-ink);
}
.gf-ty2-tick li::before{
  content:"";flex-shrink:0;width:22px;height:22px;border-radius:50%;
  background:rgba(56,181,82,.14) no-repeat center/14px 14px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'><path d='M5 12l4.5 4.5L19 7' stroke='%23137333' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
}

/* ---- Read-only promise ---- */
.gf-ty2-promise{
  padding:26px 30px;
  background:var(--gf-cream-2);border:1px solid var(--gf-line);border-radius:14px;
  margin-bottom:36px;
}
.gf-ty2-promise-h{
  font-family:'Outfit',sans-serif;font-weight:800;
  font-size:1.15rem;color:var(--gf-ink);margin:0 0 14px;
}
.gf-ty2-promise-list{
  grid-template-columns:1fr 1fr;display:grid;gap:8px 20px;margin:0 0 12px;
}
.gf-ty2-promise-foot{
  font-size:.98rem;color:var(--gf-body);margin:12px 0 0;
  padding-top:12px;border-top:1px dashed var(--gf-line);
}
.gf-ty2-promise-foot strong{color:var(--gf-ink);}
@media(max-width:520px){.gf-ty2-promise-list{grid-template-columns:1fr;}}

/* ---- Mark signature ---- */
.gf-ty2-mark{
  display:flex;align-items:center;gap:16px;
  padding:20px 22px;
  background:var(--gf-paper);border:1px solid var(--gf-line);border-radius:12px;
  margin-bottom:24px;
}
.gf-ty2-mark img{
  width:56px;height:56px;border-radius:50%;
  object-fit:cover;object-position:center 20%;
}
.gf-ty2-mark-sig{
  font-family:'Fraunces',serif;font-style:italic;font-weight:500;
  font-size:1.2rem;color:var(--gf-ink);margin:0;
}
.gf-ty2-mark-role{
  font-size:.82rem;color:var(--gf-mute);letter-spacing:.04em;text-transform:uppercase;margin:2px 0 0;
}
.gf-ty2-home{text-align:center;font-size:.9rem;color:var(--gf-mute);}
.gf-ty2-home a{color:var(--gf-body);text-decoration:underline;}
.gf-ty2-home a:hover{color:var(--gf-orange);}

@media(max-width:640px){
  .gf-ty2-head{padding:32px 0 16px;}
  .gf-ty2-step{grid-template-columns:1fr;padding:22px 20px;gap:14px;}
  .gf-ty2-step-num{justify-self:start;}
  .gf-ty2-step-body .gf-app-cta{width:100%;justify-content:space-between;}
}

/* =====================================================================
   ACCESS-GRANT INSTRUCTION PAGES (google-ads + ga4)
   ================================================================== */
.gf-guide{
  min-height:100vh;
  background:var(--gf-cream);
  background-image:radial-gradient(circle at 1px 1px,rgba(15,15,15,.05) 1px,transparent 0);
  background-size:22px 22px;
  padding-bottom:60px;
}
.gf-guide-inner{max-width:780px;margin:0 auto;padding:0 24px;}
.gf-guide-head{padding:44px 0 24px;text-align:center;}
.gf-guide-crumb{
  font-size:.82rem;color:var(--gf-mute);margin:0 0 20px;
}
.gf-guide-crumb a{color:var(--gf-body);text-decoration:underline;}
.gf-guide-crumb a:hover{color:var(--gf-orange);}
.gf-guide-h1{
  font-family:'Outfit',sans-serif;font-weight:900;
  font-size:clamp(2rem,4.4vw,2.8rem);line-height:1.1;letter-spacing:-.028em;
  color:var(--gf-ink);margin:0 0 14px;text-wrap:balance;
}
.gf-guide-sub{
  font-size:1.14rem;line-height:1.6;color:var(--gf-body);
  max-width:600px;margin:0 auto;
}

.gf-guide-steps{
  list-style:none;margin:32px 0 40px;padding:0;
  counter-reset:gstep;display:grid;gap:20px;
}
.gf-guide-step{
  display:grid;grid-template-columns:56px 1fr;gap:22px;
  padding:24px 26px;
  background:var(--gf-paper);border:1px solid var(--gf-line);border-radius:14px;
  box-shadow:0 12px 26px -16px rgba(15,15,15,.14);
  counter-increment:gstep;
}
.gf-guide-step::before{
  content:counter(gstep,decimal-leading-zero);
  font-family:'Outfit',sans-serif;font-weight:900;font-size:1.4rem;
  color:var(--gf-orange);letter-spacing:-.02em;
  width:48px;height:48px;border-radius:50%;
  background:var(--gf-orange-tint);
  display:flex;align-items:center;justify-content:center;
}
.gf-guide-step h2{
  font-family:'Outfit',sans-serif;font-weight:800;
  font-size:1.2rem;color:var(--gf-ink);margin:0 0 8px;
}
.gf-guide-step p{
  font-size:1rem;line-height:1.6;color:var(--gf-body);margin:0 0 12px;
}
.gf-guide-step p:last-child{margin-bottom:0;}
.gf-guide-step p strong{color:var(--gf-ink);}
.gf-guide-step code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:.94rem;background:var(--gf-cream-2);padding:2px 6px;border-radius:4px;
  color:var(--gf-ink);border:1px solid var(--gf-line);
}
.gf-guide-mock{
  margin-top:14px;padding:14px 16px;
  background:var(--gf-cream);border:1px dashed rgba(15,15,15,.22);border-radius:8px;
  font-size:.82rem;color:var(--gf-mute);text-align:center;
}
.gf-guide-mock::before{
  content:"[ Screenshot placeholder ]";
  display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;
  color:var(--gf-orange);letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase;
}
.gf-guide-callout{
  padding:20px 24px;
  background:var(--gf-cream-2);border-left:4px solid var(--gf-orange);border-radius:6px;
  margin:20px 0 8px;
}
.gf-guide-callout p{font-size:1.02rem;line-height:1.6;color:var(--gf-body);margin:0;}
.gf-guide-callout strong{color:var(--gf-ink);}
.gf-guide-back{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.95rem;color:var(--gf-body);
  padding:12px 20px;border:1.5px solid rgba(15,15,15,.15);border-radius:8px;
  text-decoration:none;transition:background .14s,color .14s;
}
.gf-guide-back:hover{background:rgba(15,15,15,.05);color:var(--gf-ink);}
.gf-guide-foot{text-align:center;margin-top:28px;}

@media(max-width:520px){
  .gf-guide-step{grid-template-columns:1fr;padding:20px 18px;gap:12px;}
  .gf-guide-step::before{width:44px;height:44px;font-size:1.2rem;}
}

/* ---------- Responsive tuning --------------------------------- */
@media(max-width:820px){
  :root{--gf-pad-y-sec:64px;}
  .gf-hero{padding:44px 0 52px;}
  .gf-h1{font-size:clamp(2rem,7.5vw,2.7rem);}
  .gf-hero-sub{font-size:1.05rem;}
  .gf-hero-scroll{margin-top:36px;}

  .gf-pullquote{font-size:1.15rem;padding:18px 20px;margin:24px 0;}
  .gf-line--big{font-size:1.15rem;}

  .gf-stack-item{grid-template-columns:52px 1fr;padding:22px 20px;gap:14px;}
  .gf-stack-value{grid-column:1/-1;justify-self:start;}
  .gf-stack-icon{width:44px;height:44px;}

  .gf-cta{padding:18px 26px;width:100%;max-width:420px;}
  .gf-cta-panel{margin:32px auto;padding:16px 0;}
  .gf-cta-panel--boxed{padding:26px 18px;}

  .gf-price{padding:28px 20px;}
  .gf-price-free{font-size:3.3rem;}

  .gf-faq-q{font-size:1.02rem;padding:20px 0;gap:14px;}
  .gf-faq-icon{width:28px;height:28px;}

  .gf-close{padding:64px 0 56px;}
}
@media(max-width:520px){
  body{font-size:18px;line-height:1.7;}
  .gf-h2{font-size:clamp(1.55rem,7.5vw,2rem);}
  .gf-p{font-size:1.1rem;line-height:1.65;}
  .gf-p.lead{font-size:1.2rem;}
  .gf-p--isolate{font-size:1.2rem;}
  .gf-fasc li{font-size:1rem;}
  .gf-hero-eyebrow{font-size:.65rem;padding:6px 10px;}
  .gf-scarcity-slot{width:52px;height:52px;font-size:1.05rem;}
  .gf-scarcity-meter{padding:16px 20px;gap:10px;}
}

/* ---------- Reduced motion ----------------------------------- */
@media (prefers-reduced-motion: reduce){
  *{scroll-behavior:auto !important;}
  .gf-hero-scroll .arrow,.gf-cta-arrow{animation:none;}
  .gf-faq-a{transition:none;}
  .gf-step.active{animation:none;}
}

/* ---------- Focus states ------------------------------------- */
.gf-cta:focus-visible,.gf-hvco-cta:focus-visible,.gf-header-cta:focus-visible,
.gf-back:focus-visible,.gf-next:focus-visible,.gf-choices label:focus-within,
.gf-field input:focus-visible,.gf-textarea:focus-visible,.gf-faq-q:focus-visible{
  outline:3px solid var(--gf-ink);outline-offset:3px;
}
.gf-close .gf-cta:focus-visible{outline-color:#fff;}
