

:root {
  --ink: #202421;
  --paper: #f4f0e8;
  --cream: #fbf9f4;
  --sage: #aebca9;
  --sage-deep: #5d705e;
  --orange: #d86f40;
  --line: rgba(32, 36, 33, 0.18);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

a { color: inherit; text-decoration: none; }

.site-header {
  align-items: center;
  background: rgba(244, 240, 232, 0.96);
  border-bottom: 1px solid var(--line);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  min-height: 92px;
  padding: 15px clamp(22px, 5vw, 80px);
  position: sticky;
  top: 0;
  z-index: 20;
}

.brand { display: flex; width: 210px; }
.brand img { height: auto; width: 100%; }

nav { display: flex; gap: 34px; }
nav a, .footer-links a { font-size: 14px; font-weight: 700; }
nav a:hover, .footer-links a:hover { color: var(--orange); }

.button {
  align-items: center;
  background: var(--ink);
  border: 1px solid var(--ink);
  color: white;
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  gap: 24px;
  justify-content: center;
  letter-spacing: 0.01em;
  min-height: 54px;
  padding: 14px 21px;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}

.button:hover { background: var(--orange); border-color: var(--orange); transform: translateY(-2px); }
.button-small { justify-self: end; min-height: 46px; padding: 10px 16px; }

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(430px, .95fr);
  min-height: calc(100vh - 92px);
}

.hero-copy {
  align-self: center;
  padding: clamp(68px, 9vw, 140px) clamp(28px, 7vw, 110px);
}

.eyebrow {
  align-items: center;
  display: flex;
  font-family: var(--font-geist-mono), monospace;
  font-size: 11px;
  font-weight: 700;
  gap: 10px;
  letter-spacing: .13em;
  margin: 0 0 25px;
  text-transform: uppercase;
}

.eyebrow::before { background: var(--orange); content: ""; height: 8px; width: 8px; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -0.035em; line-height: 1.04; }
h1 { font-size: clamp(50px, 5.3vw, 86px); margin: 0 0 32px; max-width: 900px; }
h1 em { color: var(--sage-deep); font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
h2 { font-size: clamp(40px, 4.6vw, 68px); margin: 0; }
h3 { font-size: 26px; }

.hero-intro { font-size: clamp(18px, 1.5vw, 22px); line-height: 1.55; max-width: 675px; }
.hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 28px; margin-top: 38px; }
.text-link { border-bottom: 1px solid currentColor; font-size: 14px; font-weight: 800; padding: 7px 0; }
.text-link:hover { color: var(--orange); }

.hero-proof { border-top: 1px solid var(--line); display: flex; gap: 60px; margin-top: 70px; padding-top: 25px; }
.hero-proof div { display: grid; }
.hero-proof strong { font-size: 15px; }
.hero-proof span { color: #636761; font-size: 12px; }

.hero-visual { min-height: 620px; overflow: hidden; position: relative; }
.hero-visual::after { background: linear-gradient(180deg, transparent 60%, rgba(32,36,33,.22)); content: ""; inset: 0; position: absolute; }
.hero-visual > img { object-fit: cover; object-position: 56% center; }
.image-note {
  align-items: center;
  background: var(--cream);
  bottom: 24px;
  display: flex;
  font-size: 12px;
  font-weight: 700;
  gap: 11px;
  left: 24px;
  padding: 14px 17px;
  position: absolute;
  z-index: 2;
}
.signal { background: var(--orange); border-radius: 50%; box-shadow: 0 0 0 5px rgba(216,111,64,.16); height: 8px; width: 8px; }

.section { padding: clamp(90px, 10vw, 160px) clamp(28px, 7vw, 110px); }
.why { display: grid; gap: 12vw; grid-template-columns: .85fr 1fr; }
.why .section-heading h2 { max-width: 650px; }
.why-copy { padding-top: 40px; }
.lead { font-size: clamp(19px, 2vw, 27px); line-height: 1.5; }
.feature-list { list-style: none; margin: 50px 0 0; padding: 0; }
.feature-list li { border-top: 1px solid var(--line); display: grid; font-size: 16px; gap: 25px; grid-template-columns: 40px 1fr; padding: 20px 0; }
.feature-list li:last-child { border-bottom: 1px solid var(--line); }
.feature-list span, .service-card > span { color: var(--orange); font-family: var(--font-geist-mono), monospace; font-size: 11px; }

.outcomes { background: var(--ink); color: white; display: grid; gap: 10vw; grid-template-columns: .78fr 1.22fr; }
.eyebrow-light::before { background: var(--sage); }
.outcome-intro h2 { max-width: 620px; }
.outcome-intro > p:last-child { color: #c5c9c3; font-size: 18px; margin-top: 35px; max-width: 560px; }
.outcome-grid { display: grid; grid-template-columns: 1fr 1fr; }
.outcome-item { border-left: 1px solid rgba(255,255,255,.2); border-top: 1px solid rgba(255,255,255,.2); display: flex; flex-direction: column; justify-content: space-between; min-height: 180px; padding: 25px; }
.outcome-item:nth-last-child(-n + 2) { border-bottom: 1px solid rgba(255,255,255,.2); }
.outcome-item span { color: var(--sage); font-family: var(--font-geist-mono), monospace; font-size: 11px; }
.outcome-item strong { font-size: clamp(20px, 2vw, 28px); line-height: 1.15; max-width: 220px; }

.services { background: var(--cream); display: grid; gap: 9vw; grid-template-columns: .7fr 1.3fr; }
.service-heading { position: sticky; top: 135px; align-self: start; }
.service-heading p:last-child { color: #636761; font-size: 18px; margin-top: 32px; max-width: 470px; }
.service-list { border-top: 1px solid var(--line); }
.service-card { display: grid; gap: 24px; grid-template-columns: 45px minmax(170px,.8fr) 1.2fr; padding: 34px 0; border-bottom: 1px solid var(--line); }
.service-card h3, .service-card p { margin: 0; }
.service-card p { color: #5d625d; }

.about { display: grid; grid-template-columns: 1.15fr .85fr; padding-bottom: 0; padding-top: 0; }
.about-panel, .fit-panel { padding: clamp(70px, 8vw, 125px) clamp(32px, 6vw, 90px); }
.about-panel { background: var(--sage); }
.about-panel h2 { margin-bottom: 30px; }
.about-lead { font-size: clamp(20px, 2vw, 28px); line-height: 1.45; }
.about-panel > p:not(.eyebrow) { max-width: 700px; }
.text-link-dark { display: inline-block; margin-top: 25px; }
.fit-panel { background: #e8e2d7; }
.fit-panel h3 { font-size: clamp(28px, 3vw, 43px); margin-bottom: 50px; }
.fit-list { border-top: 1px solid var(--line); }
.fit-list p { border-bottom: 1px solid var(--line); display: grid; gap: 18px; grid-template-columns: 24px 1fr; margin: 0; padding: 18px 0; }
.fit-list span { color: var(--orange); }

.recommendations { background: var(--cream); }
.recommendation-heading { display: grid; gap: 40px; grid-template-columns: .5fr 1.5fr .7fr; margin-bottom: 65px; }
.recommendation-heading > p:last-child { color: #626762; }
.quote-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
figure { border: 1px solid var(--line); display: flex; flex-direction: column; justify-content: space-between; margin: 0; min-height: 380px; padding: 30px; }
blockquote { font-family: Georgia, "Times New Roman", serif; font-size: clamp(21px, 2vw, 29px); line-height: 1.35; margin: 0; }
figcaption { border-top: 1px solid var(--line); display: grid; margin-top: 35px; padding-top: 20px; }
figcaption strong { font-size: 14px; }
figcaption span { color: #6b706a; font-size: 12px; }
.recommendations > .text-link { margin-top: 35px; }

.contact { background: var(--sage-deep); color: white; display: grid; gap: 10vw; grid-template-columns: 1.1fr .9fr; }
.contact h2 { max-width: 780px; }
.contact-action { align-self: end; }
.contact-action p { color: #e0e6df; font-size: 18px; max-width: 540px; }
.button-light { background: var(--paper); border-color: var(--paper); color: var(--ink); margin-top: 20px; }

footer { align-items: center; display: grid; gap: 30px; grid-template-columns: 1fr 1fr 1fr; padding: 38px clamp(28px, 7vw, 110px); }
footer img { height: auto; width: 190px; }
footer p { font-size: 12px; margin: 0; text-align: center; }
.footer-links { display: flex; gap: 25px; justify-content: flex-end; }

@media (max-width: 1050px) {
  .site-header { grid-template-columns: 1fr auto; }
  nav { display: none; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { padding-bottom: 75px; }
  .hero-visual { min-height: 600px; }
  .why, .outcomes, .services, .contact { gap: 70px; grid-template-columns: 1fr; }
  .service-heading { position: static; }
  .recommendation-heading { grid-template-columns: 1fr; gap: 18px; }
  .quote-grid { grid-template-columns: 1fr; }
  figure { min-height: auto; }
}

@media (max-width: 720px) {
  .site-header { min-height: 76px; padding: 12px 20px; }
  .brand { width: 165px; }
  .button-small { font-size: 0; gap: 0; min-height: 42px; width: 45px; }
  .button-small span { font-size: 18px; }
  h1 { font-size: 48px; }
  h2 { font-size: 40px; }
  .hero-copy { padding: 60px 24px; }
  .hero-proof { gap: 28px; margin-top: 50px; }
  .hero-proof div { flex: 1; }
  .hero-visual { min-height: 470px; }
  .hero-visual > img { object-position: 62% center; }
  .section { padding: 85px 24px; }
  .outcome-grid { grid-template-columns: 1fr; }
  .outcome-item { border-right: 1px solid rgba(255,255,255,.2); min-height: 145px; }
  .outcome-item:nth-last-child(2) { border-bottom: 0; }
  .service-card { gap: 12px; grid-template-columns: 32px 1fr; }
  .service-card p { grid-column: 2; }
  .about { grid-template-columns: 1fr; }
  .about-panel, .fit-panel { padding: 80px 24px; }
  footer { grid-template-columns: 1fr; justify-items: start; padding: 35px 24px; }
  footer p { text-align: left; }
  .footer-links { justify-content: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
/* Managed support extension: retains the established Lee Brookes palette. */
html { scroll-padding-top: 110px; }
:focus-visible { outline: 3px solid #d86f40; outline-offset: 5px; }
.skip-link {position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:12px 20px}.skip-link:focus {top:10px}
.hero h1 {font-size:clamp(45px,4.6vw,74px)}
.plans {background:var(--paper)}
.plans-heading {display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:55px}.plans-heading>p {font-size:20px;max-width:460px;margin:0}
.plan-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.plan {background:var(--cream);border:1px solid var(--line);padding:34px;display:flex;flex-direction:column}.plan-featured {background:#dce3d7;border-top:4px solid var(--sage-deep);padding-top:31px}.plan-kicker {text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:700}.plan h3 {font-size:32px;margin:8px 0 30px}.plan-hours {display:flex;align-items:center;gap:18px;border-top:1px solid var(--line);padding:25px 0}.plan-hours strong {font-size:68px;line-height:1;letter-spacing:-.07em}.plan-hours span {font-size:12px;line-height:1.4}.plan>p:not(.plan-kicker):not(.price-note) {font-size:15px;flex:1}.plan-price {font-size:36px;font-weight:700;margin-top:20px;letter-spacing:-.04em}.plan-price span {font-size:14px;font-weight:400;letter-spacing:0}.price-note {font-size:11px;color:#535d52;margin:2px 0 25px}.plan .button {font-size:12px;gap:12px}.plan-footnote {font-size:12px;color:#626762;max-width:900px;margin:25px 0 0}
.support-facts {display:grid;grid-template-columns:1fr 1fr;gap:32px}.support-facts article {border-top:1px solid #566055;padding-top:25px}.support-facts article>span {color:var(--sage);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.support-facts h3 {font-size:27px;margin:18px 0}.support-facts p {color:#c5c9c3;font-size:15px}
.faq {display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;background:var(--cream)}.faq h2 {max-width:500px}.faq-list details {border-bottom:1px solid var(--line);padding:22px 0}.faq-list details:first-child {border-top:1px solid var(--line)}.faq-list summary {cursor:pointer;font-weight:700;padding-right:20px;font-size:18px}.faq-list p {padding-top:20px;margin-bottom:0;color:#565e55}.contact-email {font-size:14px!important;margin-top:22px}.contact-email a {text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.plan{padding:25px}.plans-heading{gap:40px}.plan h3{font-size:27px}.plan-price{font-size:32px}}
@media(max-width:850px){.plan-grid,.plans-heading,.faq{grid-template-columns:1fr}.plans-heading>p{max-width:650px}.plan-grid{gap:18px}.plan{padding:30px}.plan h3{font-size:32px;margin-bottom:15px}.plan-hours{padding:20px 0}.plan .button{align-self:flex-start}.plans-heading{gap:30px}.faq{gap:40px}}
@media(max-width:720px){.support-facts{grid-template-columns:1fr}.hero h1{font-size:47px}.hero-visual{min-height:420px}.image-note{font-size:10px;left:15px;right:15px;padding:12px}.site-header .button-small{font-size:12px;width:auto;gap:8px;padding:10px}.brand{width:145px}}

.hero-visual > img{position:absolute;inset:0;width:100%;height:100%}.illustration-label{position:absolute;bottom:5px;left:24px;color:white;background:#202421bb;padding:1px 6px;font-size:9px;z-index:3}.image-note{bottom:32px}.plan-features{padding:0 0 0 17px;font-size:13px;line-height:1.55;margin:0 0 20px}.plan-features li{margin-bottom:10px}.team-roles{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:35px}.team-roles>div{border-top:1px solid var(--line);padding-top:18px}.team-roles strong,.team-roles span{display:block;font-size:14px}.team-roles span{font-size:13px;margin-top:7px}.regional{margin-top:42px;font-size:14px}.diagnostic{background:#e7e6dc;display:grid;grid-template-columns:1fr 1fr;gap:9vw}.diagnostic .lead{margin-top:30px;font-size:21px}.diagnostic-steps article{display:flex;gap:24px;padding:26px 0;border-top:1px solid var(--line)}.diagnostic-steps article>span{color:#9e4620;font:12px monospace}.diagnostic-steps h3{font-size:25px;margin-bottom:15px}.diagnostic-steps p{margin:0}.process{background:var(--cream)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-top:55px}.process-grid article{border-top:1px solid var(--line);padding-top:22px}.process-grid span{color:#9e4620;font:11px monospace;letter-spacing:1px}.process-grid h3{font-size:24px;margin:24px 0 16px}.process-grid p{font-size:15px;color:#5d625d}.hero{min-height:740px}.hero-copy{padding-top:80px;padding-bottom:80px}.hero h1{font-size:clamp(45px,4.3vw,70px)}.hero-proof{margin-top:45px}.about{padding-left:0;padding-right:0}.site-header .brand{width:240px}.section{padding-top:100px;padding-bottom:100px}.about{padding-top:0;padding-bottom:0}.support-facts h3{line-height:1.15}.button{cursor:pointer}@media(max-width:1050px){.diagnostic{grid-template-columns:1fr;gap:45px}.process-grid{grid-template-columns:1fr 1fr}.hero{min-height:auto}.hero-visual{min-height:530px}}@media(max-width:720px){.site-header .brand{width:165px}.team-roles,.process-grid{grid-template-columns:1fr}.hero-visual{min-height:420px}.hero h1{font-size:45px}.section{padding-top:70px;padding-bottom:70px}.about{padding:0}.hero-copy{padding:60px 24px}.plan-features{font-size:14px}}

.contact-action .button{margin-right:10px}.contact-action .email-help{font-size:13px;margin-top:20px}.contact-action #copy-status{font-size:14px;font-weight:700}.contact:focus{outline:none}button{font-family:inherit}

#enquiry-dialog{border:0;border-radius:18px;padding:28px;width:min(720px,calc(100% - 32px));max-height:90vh;background:#fff;color:#24372e;box-sizing:border-box}#enquiry-dialog::backdrop{background:rgba(20,35,27,.65)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-top h2{font-size:28px;margin:0}.dialog-top button{background:#eef2ed;border:0;border-radius:50%;width:42px;height:42px;font-size:28px;cursor:pointer;flex-shrink:0}.form-note,.form-fallback{font-size:14px;line-height:1.6;color:#526358}.form-fallback a{color:#24583d;text-decoration:underline}.hs-form-frame{min-height:400px}@media(max-width:600px){#enquiry-dialog{padding:18px}.dialog-top h2{font-size:23px}}
