/* holdlinefire.co.uk: ink and flame, like the logo; pin colours as the recurring mark; system fonts, so nothing loads from elsewhere */
:root{
  --ink:#121619; --ink2:#1B2126; --cream:#F7F5F0; --paper:#FFFFFF; --line:#E3DFD6; --muted:#59636A; --flame:#F05A28; --flame2:#D94A1C; --amber:#FFB23E;
  --pass:#1D7A45; --survey:#D9A400; --fail:#C42821; --todo:#868E92;
  --font:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --w:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.55 var(--font);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:var(--flame2)}
.in{max-width:var(--w);margin:0 auto;padding:0 20px}
h1,h2,h3{line-height:1.12;text-wrap:balance;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800}
h3{font-size:1.15rem;font-weight:700}
p{margin:0 0 1em}
.lead{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--muted);max-width:62ch}
.fine{font-size:.88rem;color:var(--muted)} .center{text-align:center}
.news{background:var(--amber);color:var(--ink);text-align:center;font-weight:600;padding:8px 16px;font-size:.95rem}

/* top bar */
.bar{background:var(--ink);color:#fff;position:sticky;top:0;z-index:20;border-bottom:3px solid var(--flame)}
.bar .in{display:flex;align-items:center;gap:20px;height:66px}
.brand img{height:30px;width:auto}
.nav{display:flex;gap:4px;margin-left:12px;flex:1}
.nav a{color:#E9E6E0;text-decoration:none;font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:8px}
.nav a:hover,.nav a[aria-current]{background:var(--ink2);color:#fff}
.hact{display:flex;gap:12px;align-items:center}
.hact .link{color:#fff;text-decoration:none;font-weight:600;font-size:.95rem}
.menu{display:none;background:none;border:1px solid #39424A;color:#fff;font-size:1.2rem;border-radius:8px;width:44px;height:40px;cursor:pointer}
@media (max-width:860px){
  .nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--ink);flex-direction:column;padding:8px 16px 16px;margin:0;border-bottom:3px solid var(--flame)}
  .nav.open{display:flex} .nav a{padding:12px}
  .menu{display:block} .hact .link{display:none}
}

/* buttons */
.cta{display:inline-flex;align-items:center;justify-content:center;background:var(--flame);color:#fff;font-weight:700;text-decoration:none;border:2px solid var(--flame);border-radius:10px;padding:13px 22px;min-height:50px;font-size:1.02rem;cursor:pointer;font-family:inherit}
.cta:hover{background:var(--flame2);border-color:var(--flame2)}
.cta.ghost{background:transparent;color:inherit;border-color:currentColor}
.cta.ghost:hover{background:rgba(127,127,127,.12)}
.cta.small{min-height:40px;padding:8px 14px;font-size:.92rem}
.cta:disabled{opacity:.6;cursor:default}
.ctas{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 10px}

/* pins: the brand's own mark */
.pin{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:2px solid #fff;color:#fff;font-size:.72rem;font-weight:800;box-shadow:0 1px 3px rgba(0,0,0,.35);vertical-align:middle;margin-right:4px}
.p-fitted{background:var(--pass)} .p-surveyed{background:var(--survey)} .p-fail{background:var(--fail)} .p-todo{background:var(--todo)}

/* hero */
.hero{background:var(--ink);color:#fff;padding:56px 0 64px;overflow:hidden}
.hero .in{display:grid;grid-template-columns:1fr 1.1fr;gap:44px;align-items:center}
.hero .lead{color:#C9CDD0}
.kicker{font-weight:700;color:var(--amber);font-size:.9rem;letter-spacing:.04em;text-transform:uppercase}
.kicker .pin{width:14px;height:14px;border-width:2px;margin-right:2px}
.hero .fine{color:#9AA2A7}
.hshot img{border-radius:14px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);border:1px solid #2A3238}
@media (max-width:900px){ .hero .in{grid-template-columns:1fr} .hero{padding:36px 0 40px} }
.founding{max-width:var(--w);margin:24px auto 0;padding:14px 20px;background:#FFF1D9;border:1px solid #F2D29A;border-radius:12px;font-size:1rem}
@media (max-width:1160px){ .founding{margin:24px 20px 0} }

/* sections */
section{padding:56px 0}
.phead{padding:52px 0 18px}
.band{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.band.dark{background:var(--ink);color:#fff;border:0}
.band.dark p{color:#C9CDD0}
.sect{max-width:22ch}
.intro{color:var(--muted);max-width:64ch;margin-bottom:28px}
.life{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;counter-reset:x}
.life li{background:var(--cream);border:1px solid var(--line);border-radius:14px;padding:18px;position:relative}
.life .step .pin{width:34px;height:34px;font-size:.95rem;margin-bottom:10px}
.life p{color:var(--muted);font-size:.95rem;margin:0}
@media (max-width:900px){ .life{grid-template-columns:1fr 1fr} } @media (max-width:520px){ .life{grid-template-columns:1fr} }
.split .in{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}
.split.rev .in > div{order:2} .split.rev .in > figure{order:1}
.split p{color:var(--muted)}
.split figure{margin:0}
.split .wide img{border-radius:12px;border:1px solid var(--line);box-shadow:0 20px 40px -24px rgba(18,22,25,.45)}
.split .phone{justify-self:center;max-width:300px}
.split .phone img{border-radius:28px;border:8px solid var(--ink);box-shadow:0 24px 48px -20px rgba(18,22,25,.5)}
@media (max-width:860px){ .split .in{grid-template-columns:1fr;gap:26px} .split.rev .in > div{order:1} .split.rev .in > figure{order:2} }
.ticks{list-style:none;padding:0;margin:14px 0 0;display:flex;flex-direction:column;gap:8px}
.ticks li{padding-left:28px;position:relative}
.ticks li::before{content:"";position:absolute;left:2px;top:.42em;width:14px;height:14px;border-radius:50%;background:var(--pass);box-shadow:inset 0 0 0 3px #fff;border:1px solid var(--pass)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
@media (max-width:860px){ .grid3{grid-template-columns:1fr} }
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{background:var(--cream);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:600;font-size:.95rem}
.final{text-align:center}
.final .ctas{justify-content:center}
.final p{color:var(--muted)}

/* pricing */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
@media (max-width:900px){ .plans{grid-template-columns:1fr;max-width:460px;margin:0 auto} }
.plan{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;position:relative;display:flex;flex-direction:column;gap:6px}
.plan.hi{border:2px solid var(--flame);box-shadow:0 20px 40px -24px rgba(240,90,40,.5)}
.plan .tag{position:absolute;top:-13px;left:24px;background:var(--flame);color:#fff;font-size:.78rem;font-weight:700;padding:4px 10px;border-radius:999px}
.plan h2{margin:0}
.pblurb{color:var(--muted);margin:0}
.price{margin:10px 0 0}.price .m{font-size:2.6rem;font-weight:800;letter-spacing:-.02em}.price .per{color:var(--muted)}
.yr{color:var(--muted);font-size:.92rem;margin:0}
.lim{margin:8px 0 0;font-size:.95rem}
.plan .cta{margin-top:16px}
.faq{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:760px){ .faq{grid-template-columns:1fr} }
.faq details{background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.faq summary{font-weight:700;cursor:pointer}
.faq p{margin:10px 0 0;color:var(--muted)}

/* forms */
.narrow{max-width:720px}
.form{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:14px}
.form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.92rem}
.form input,.form select,.form textarea{font:16px var(--font);color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:10px;padding:12px;min-height:48px;width:100%}
.form input:focus,.form select:focus,.form textarea:focus,.cta:focus-visible,a:focus-visible{outline:3px solid var(--amber);outline-offset:2px}
.form .cta{align-self:flex-start}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:14px} @media (max-width:600px){ .g2{grid-template-columns:1fr} }
.hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden}
.fmsg{min-height:1.2em;margin:0;font-weight:600}.fmsg.err{color:var(--fail)}
.done h2{color:var(--pass)}

/* prose pages */
.prose{max-width:760px}
.prose h2{font-size:1.35rem;margin-top:1.6em}
.prose p,.prose li{color:#2C3338}

/* footer */
.foot{background:var(--ink);color:#C9CDD0;padding:44px 0 30px;margin-top:20px}
.foot .in{display:grid;grid-template-columns:1fr 2fr;gap:30px}
.foot img{height:28px;width:auto;margin-bottom:8px}
.foot .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.foot .cols div{display:flex;flex-direction:column;gap:6px}
.foot b{color:#fff}
.foot a{color:#C9CDD0;text-decoration:none} .foot a:hover{color:#fff}
.foot .legal{grid-column:1/-1;font-size:.82rem;color:#8C959A;border-top:1px solid #2A3238;padding-top:16px;margin:0}
@media (max-width:760px){ .foot .in{grid-template-columns:1fr} .foot .cols{grid-template-columns:1fr 1fr} }
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
.extra{margin-top:24px;font-size:1.02rem}
