/* Lawton GBP Tune-Up — mobile-first, no framework */
:root{
  --ink:#16201f; --muted:#5a6866; --bg:#ffffff; --alt:#f3f6f5; --line:#dde5e3;
  --brand:#0f3d3e; --brand-2:#145c5d; --accent:#e8a33d; --accent-ink:#2a1a00;
  --ok:#1f6f43; --err:#a3261d; --radius:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg)}
img{max-width:100%;height:auto}
a{color:var(--brand-2)}
h1,h2,h3{line-height:1.2;margin:0 0 .6em}
h1{font-size:1.85rem;letter-spacing:-.01em}
h2{font-size:1.5rem}
h3{font-size:1.05rem}
p{margin:0 0 1em}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.narrow{max-width:620px}
.small{font-size:.875rem}
.muted{color:var(--muted)}
[hidden]{display:none!important}

/* Top bar */
.topbar{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.95);backdrop-filter:saturate(1.4) blur(6px);border-bottom:1px solid var(--line)}
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:10px;height:56px}
.brand{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--brand);text-decoration:none;font-size:.95rem;white-space:nowrap;min-width:0}
.brand span{overflow:hidden;text-overflow:ellipsis}
.topbar-cta{flex:none;white-space:nowrap;font-weight:600;font-size:.85rem;color:var(--brand);text-decoration:none;border:1.5px solid var(--brand);padding:6px 12px;border-radius:999px}

/* Buttons */
.btn{display:inline-block;text-align:center;font-weight:700;font-size:1.05rem;text-decoration:none;border:0;border-radius:12px;padding:15px 22px;cursor:pointer;min-height:52px;transition:transform .05s,filter .15s}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 2px 0 rgba(0,0,0,.12)}
.btn-primary:hover{filter:brightness(1.05)}
.btn-light{background:#fff;color:var(--brand)}
.btn-block{width:100%}
.btn[disabled]{opacity:.7;cursor:progress}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* Hero */
.hero{background:linear-gradient(180deg,var(--brand) 0%,var(--brand-2) 100%);color:#fff;padding:36px 0 40px}
.hero a{color:#fff}
.eyebrow{font-size:.85rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;opacity:.85}
.lead{font-size:1.06rem;opacity:.95}
.price-card{background:#fff;color:var(--ink);border-radius:var(--radius);padding:20px;margin:20px 0 16px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-bottom:14px}
.amount{font-size:2.6rem;font-weight:800;color:var(--brand);line-height:1}
.price-note{color:var(--muted);font-size:.92rem}
.price-card .btn{width:100%}
.pay-note{margin:12px 0 0;font-size:.92rem;color:var(--ink);background:#fff7e8;border:1px solid #f1d7a6;border-radius:10px;padding:10px 12px}
.hero-bullets{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.hero-bullets li{font-size:.88rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:4px 12px}

/* Sections */
.section{padding:44px 0}
.section.alt{background:var(--alt)}
.section-intro{color:var(--muted)}
.callout{border:2px solid var(--brand);border-radius:var(--radius);padding:20px;background:#f7fbfa}
.howto,.steps{padding-left:1.2em}
.howto li{margin-bottom:.5em}

.checklist{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:12px}
.checklist li{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.checklist h3{margin:0 0 .25em}
.checklist p{margin:0;color:var(--muted);font-size:.95rem}
.tick{flex:0 0 24px;height:24px;border-radius:50%;background:var(--ok);position:relative;margin-top:2px}
.tick::after{content:"";position:absolute;left:8px;top:4px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.not-included{border-left:4px solid var(--accent);padding:4px 0 4px 14px}
.not-included p{margin:0;color:var(--muted)}

.steps{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.steps li{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
.steps p{margin:0;color:var(--muted)}
.step-num{flex:0 0 36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}

.pill-list{list-style:none;padding:0;margin:0 0 22px;display:flex;flex-wrap:wrap;gap:8px}
.pill-list li{background:var(--alt);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.92rem}
.bullets{padding-left:1.2em}
.bullets li{margin-bottom:.6em}
.not-fit{background:#fdf1f0;border:1px solid #f0c9c5;border-radius:10px;padding:10px 12px}

.faq details{border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:#fff}
.faq summary{cursor:pointer;font-weight:600;padding:14px 40px 14px 16px;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:10px;font-size:1.4rem;color:var(--brand)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 16px 14px;margin:0;color:var(--muted)}

/* Form */
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.field{margin-bottom:16px}
label{display:block;font-weight:600;margin-bottom:6px}
input,textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1.5px solid #c4d0cd;border-radius:10px;background:#fff;color:var(--ink)}
input:focus,textarea:focus{border-color:var(--brand-2);outline:none;box-shadow:0 0 0 3px rgba(20,92,93,.18)}
input[aria-invalid="true"],textarea[aria-invalid="true"]{border-color:var(--err)}
.help{font-size:.85rem;color:var(--muted);margin:6px 0 0}
.field-error{color:var(--err);font-size:.85rem;margin:6px 0 0}
.form-error{color:var(--err);background:#fdf1f0;border:1px solid #f0c9c5;border-radius:10px;padding:10px 12px}
.hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.success{background:#edf7f0;border:2px solid var(--ok);border-radius:var(--radius);padding:20px}
.success h1,.success h3{color:var(--ok)}
.success p{margin:0}
.mailto{margin-top:16px;font-size:.95rem}

.final{background:var(--brand);color:#fff;text-align:center}
.final a.btn{margin:6px 0 10px}
.final .small{opacity:.85}

.footer{padding:28px 0 40px;font-size:.88rem;color:var(--muted);border-top:1px solid var(--line)}
.footer p{margin:0 0 .4em}

/* Larger screens */
@media (min-width:720px){
  h1{font-size:2.6rem}
  h2{font-size:1.85rem}
  .hero{padding:64px 0 60px}
  .hero .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:start}
  .price-card{margin:0}
  .checklist{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:repeat(3,1fr)}
    .section{padding:64px 0}
}
@media (max-width:400px){.hide-sm{display:none}}

/* Placeholders + pending-approval markers (preview review aids) */
mark.ph{background:#ffe45c;color:#3a2f00;border:1.5px dashed #b38f00;border-radius:6px;padding:0 5px;font-weight:700;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;white-space:nowrap}
.pending{display:inline-block;vertical-align:middle;background:#fde2e1;color:#8a1c14;border:1px solid #e9a39e;border-radius:999px;padding:0 8px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.6;cursor:help}
.btn-outline{background:#fff;color:var(--brand);border:2px solid var(--brand)}
.price-card .btn + .btn{margin-top:10px}
.secondary{margin:14px 0 0;font-size:.95rem;color:var(--ink)}
.price-box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.price-main{font-size:1.2rem}
.pay-line{margin:0}
.honest{border:2px solid var(--accent);border-radius:var(--radius);padding:20px;background:#fffaf0}
.not-included{border-left:4px solid var(--accent);padding:4px 0 4px 14px;color:var(--muted)}
.final mark.ph{color:#3a2f00}
.form-section{background:var(--alt)}
.steps li p{margin:0;color:var(--ink)}
.footer mark.ph{font-size:.8em}
.price-card a:not(.btn){color:var(--brand-2);font-weight:600}
section[id]{scroll-margin-top:64px}
.hero .btn-outline,.final .btn-light{color:var(--brand)}
.final a:not(.btn){color:#fff}
