:root{
    --ink:#0e2f33; --ink-soft:#4a5864; --paper:#f3f5f4; --white:#ffffff;
    --flame:#c43a2f; --flame-dark:#a32e25; --line:#e2ddd4; --navy:#0e2f33;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:"Nunito Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:18px;line-height:1.6}
  h1,h2,h3{font-family:"Outfit",system-ui,sans-serif;line-height:1.15;letter-spacing:-0.01em}
  a{color:var(--flame)}
  .wrap{max-width:1120px;margin:0 auto;padding:0 24px}
  .btn{display:inline-block;background:var(--flame);color:#fff;text-decoration:none;font-family:"Outfit",sans-serif;font-weight:700;padding:14px 26px;border-radius:4px;border:0;font-size:17px;cursor:pointer}
  .btn:hover{background:var(--flame-dark)}
  .btn.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5)}
  .btn.ghost:hover{border-color:#fff;background:transparent}

  /* header */
  header{background:var(--navy);color:#fff;position:sticky;top:0;z-index:10}
  header .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
  .logo{font-family:"Outfit",sans-serif;font-weight:800;font-size:19px;color:#fff;text-decoration:none}
  .logo span{color:#ff9b8a}
  nav a{color:#d6dde3;text-decoration:none;margin-left:22px;font-size:16px}
  nav a:hover{color:#fff}
  .tel{color:#fff;font-weight:600;text-decoration:none;white-space:nowrap}
  .logo{white-space:nowrap}
  nav{white-space:nowrap}
  nav a{margin-left:18px}
  @media(max-width:1060px){nav a{margin-left:14px;font-size:15px}}
  @media(max-width:1100px){.head-cta .tel{display:none}}
  .head-cta{display:flex;align-items:center;gap:18px}
  .btn-sm{padding:9px 16px;font-size:15px;white-space:nowrap}
  @media(max-width:480px){.head-cta .tel{display:none}}
  @media(max-width:940px){nav{display:none}}
  /* mobile menu */
  .menu-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:4px;width:42px;height:38px;cursor:pointer;align-items:center;justify-content:center;padding:0}
  .menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:18px;height:2px;background:#fff;position:relative;transition:.2s}
  .menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0}
  .menu-toggle span::before{top:-6px}.menu-toggle span::after{top:6px}
  header.open .menu-toggle span{background:transparent}
  header.open .menu-toggle span::before{top:0;transform:rotate(45deg)}
  header.open .menu-toggle span::after{top:0;transform:rotate(-45deg)}
  @media(max-width:940px){
    .menu-toggle{display:flex}
    header.open nav{display:block;position:absolute;top:68px;left:0;right:0;background:var(--navy);padding:4px 24px 16px;border-top:1px solid rgba(255,255,255,.12);box-shadow:0 8px 16px rgba(0,0,0,.25)}
    header.open nav a{display:block;margin:0;padding:13px 0;font-size:17px;border-bottom:1px solid rgba(255,255,255,.08)}
    header.open nav a:last-child{border-bottom:0}
  }


  /* hero */
  .hero{background:var(--navy);color:#fff;padding:72px 0 88px;position:relative;overflow:hidden}
  .hero::after{content:"";position:absolute;right:-120px;top:-80px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(196,58,47,.45),rgba(196,58,47,0) 70%)}
  .hero .wrap{position:relative;z-index:1}
  .eyebrow{display:inline-block;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#ff9b8a;font-weight:600;margin-bottom:18px}
  .hero h1{font-size:clamp(36px,5.4vw,60px);max-width:780px;font-weight:800}
  .hero p.lead{font-size:21px;color:#c9d2da;max-width:640px;margin:22px 0 34px}
  .hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
  .trust{display:flex;gap:36px;flex-wrap:wrap;margin-top:56px;padding-top:28px;border-top:1px solid rgba(255,255,255,.14)}
  .trust div{font-size:15px;color:#aeb9c3}
  .trust strong{display:block;font-family:"Outfit",sans-serif;font-size:28px;color:#fff}

  .accred{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
  .accred span{font-size:15px;font-weight:600;color:#fff;border:1px solid rgba(255,255,255,.28);padding:8px 14px;border-radius:3px;background:rgba(255,255,255,.05)}
  .accred span::before{content:"✓ ";color:#ff9b8a}
  .person{display:flex;align-items:center;gap:18px;margin-bottom:28px}
  .person img{width:180px;height:180px;border-radius:50%;object-fit:cover;border:4px solid var(--paper)}
  .person strong{display:block;font-family:"Outfit",sans-serif;font-size:24px}
  .person span{color:var(--ink-soft);font-size:17px}
  .reviews blockquote{font-size:18px;color:var(--ink);margin-bottom:16px}
  .reviews figcaption{font-size:15px;color:var(--ink-soft)}
  .reviews figcaption strong{display:block;color:var(--ink)}
  section{padding:84px 0}
  .section-head{max-width:700px;margin-bottom:44px}
  .section-head h2{font-size:clamp(28px,3.6vw,40px)}
  .section-head p{color:var(--ink-soft);margin-top:14px;font-size:19px}

  /* about */
  .about{background:var(--white)}
  .about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
  .about-grid p{margin-bottom:16px;color:var(--ink-soft)}
  .about-grid p strong{color:var(--ink)}
  .quote-card{background:var(--paper);border-left:5px solid var(--flame);padding:30px 32px;border-radius:2px}
  .quote-card h3{font-size:20px;margin-bottom:14px}
  .quote-card ul{list-style:none}
  .quote-card li{padding:9px 0 9px 28px;position:relative;border-bottom:1px solid var(--line)}
  .quote-card li:last-child{border-bottom:0}
  .quote-card li::before{content:"";position:absolute;left:0;top:18px;width:12px;height:3px;background:var(--flame)}
  @media(max-width:860px){.about-grid{grid-template-columns:1fr}}

  /* buildings */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .card{background:var(--white);border:1px solid var(--line);padding:28px;border-radius:4px}
  .card h3{font-size:20px;margin-bottom:10px}
  .card p{color:var(--ink-soft);font-size:17px}
  @media(max-width:860px){.cards{grid-template-columns:1fr}}
  .reviews .cards{grid-template-columns:repeat(6,1fr)}
  .reviews .card{grid-column:span 2}
  .reviews .card:nth-child(4){grid-column:2 / span 2}
  @media(max-width:860px){.reviews .cards{grid-template-columns:1fr}.reviews .card,.reviews .card:nth-child(4){grid-column:auto}}

  /* law */
  .law{background:var(--navy);color:#fff}
  .law .section-head p{color:#c9d2da}
  .law-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
  .law-item{border:1px solid rgba(255,255,255,.16);padding:28px;border-radius:4px}
  .law-item .tag{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#ff9b8a;font-weight:600}
  .law-item h3{font-size:21px;margin:8px 0 10px}
  .law-item p{color:#c9d2da;font-size:17px}
  .law .note{margin-top:28px;font-size:15px;color:#93a1ad}
  @media(max-width:860px){.law-grid{grid-template-columns:1fr}}

  /* process */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
  .step{counter-increment:s}
  .step::before{content:counter(s,decimal-leading-zero);font-family:"Outfit",sans-serif;font-weight:800;font-size:44px;color:var(--flame);display:block;line-height:1;margin-bottom:12px}
  .step h3{font-size:19px;margin-bottom:8px}
  .step p{color:var(--ink-soft);font-size:17px}
  @media(max-width:860px){.steps{grid-template-columns:1fr 1fr}}

  /* areas */
  .areas{background:var(--white)}
  .area-list{columns:4;column-gap:24px;list-style:none}
  .area-list li{padding:6px 0;border-bottom:1px solid var(--line);break-inside:avoid;font-size:17px}
  @media(max-width:860px){.area-list{columns:2}}

  /* faq */
  .faq details{background:var(--white);border:1px solid var(--line);border-radius:4px;margin-bottom:12px}
  .faq summary{cursor:pointer;padding:20px 24px;font-family:"Outfit",sans-serif;font-weight:700;font-size:18px;list-style:none;position:relative;padding-right:56px}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::after{content:"+";position:absolute;right:24px;top:16px;font-size:26px;color:var(--flame)}
  .faq details[open] summary::after{content:"–"}
  .faq details p{padding:0 24px 22px;color:var(--ink-soft)}

  /* contact */
  .contact{background:var(--navy);color:#fff}
  .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px}
  .contact h2{font-size:clamp(28px,3.6vw,40px)}
  .contact p{color:#c9d2da;margin:16px 0}
  .contact .direct a{color:#fff;font-weight:600;font-size:20px;text-decoration:none;display:block;margin:6px 0}
  form{background:var(--white);color:var(--ink);padding:32px;border-radius:4px}
  .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  label{display:block;font-weight:600;font-size:15px;margin-bottom:6px}
  input,select,textarea{width:100%;font:inherit;font-size:17px;padding:12px 14px;border:1px solid #cfc8bc;border-radius:4px;background:#fff;margin-bottom:16px}
  input:focus,select:focus,textarea:focus{outline:2px solid var(--flame);border-color:var(--flame)}
  textarea{min-height:120px;resize:vertical}
  .small{font-size:14px;color:var(--ink-soft)}
  #form-result{margin-top:12px;font-weight:600}
  @media(max-width:860px){.contact-grid,.row{grid-template-columns:1fr}}

  footer{background:#082124;color:#93a1ad;padding:40px 0;font-size:15px}
  footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
  footer a{color:#c9d2da}

  /* founder photo */
  .founder{display:flex;align-items:center;gap:18px;margin-top:28px}
  .founder img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--paper)}
  .founder strong{display:block;font-family:"Outfit",sans-serif;font-size:19px}
  .founder span{color:var(--ink-soft);font-size:16px}
  /* approach (Liverpool) */
  .approach{background:var(--white)}
  .approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
  .approach-grid > div > p{color:var(--ink-soft);margin-bottom:16px}
  .approach-grid > div > p strong{color:var(--ink)}
  .points{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .point{background:var(--paper);border-top:4px solid var(--flame);padding:22px;border-radius:2px}
  .point h3{font-size:19px;margin-bottom:6px}
  .point p{color:var(--ink-soft);font-size:16px}
  @media(max-width:860px){.approach-grid,.points{grid-template-columns:1fr}}
  .hero .accred{margin-top:28px}
  .contact-grid > *{min-width:0}
  .contact .direct a{overflow-wrap:anywhere}
/* guides */
  .page-head{background:var(--navy);color:#fff;padding:56px 0 60px}
  .page-head h1{font-size:clamp(32px,4.6vw,48px);max-width:820px;font-weight:800}
  .page-head p{color:#c9d2da;font-size:19px;max-width:680px;margin-top:16px}
  .page-head .meta{font-size:15px;color:#93a1ad;margin-top:18px}
  .crumbs{font-size:15px;margin-bottom:18px}
  .crumbs a{color:#ff9b8a;text-decoration:none}
  .article{max-width:760px;margin:0 auto;padding:56px 24px 72px}
  .article h2{font-size:28px;margin:40px 0 14px}
  .article h3{font-size:21px;margin:28px 0 10px}
  .article p{margin-bottom:16px}
  .article ul,.article ol{margin:0 0 18px 22px}
  .article li{margin-bottom:8px}
  .callout{background:var(--white);border-left:5px solid var(--flame);padding:24px 28px;margin:28px 0;border-radius:2px}
  .callout p:last-child{margin-bottom:0}
  .cta-box{background:var(--navy);color:#fff;padding:32px;border-radius:4px;margin-top:44px}
  .cta-box h2{margin-top:0;color:#fff}
  .cta-box p{color:#c9d2da}
  .cta-box .btn{margin:8px 12px 0 0}
  .disclaimer{font-size:15px;color:var(--ink-soft);margin-top:28px}
  .guide-list{max-width:860px;margin:0 auto;padding:56px 24px 80px;display:grid;gap:20px}
  .guide-card{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:28px;text-decoration:none;color:var(--ink);display:block}
  .guide-card:hover{border-color:var(--flame)}
  .guide-card h2{font-size:23px;margin-bottom:8px}
  .guide-card p{color:var(--ink-soft);font-size:17px}
  .guide-card span{display:inline-block;margin-top:12px;color:var(--flame);font-weight:600}

    @media(max-width:560px){header .wrap{padding:0 16px;gap:10px}header .logo{font-size:15px;white-space:normal;line-height:1.15;max-width:170px}header .head-cta{gap:8px}header.open nav{padding-left:16px;padding-right:16px}header .btn-sm{padding:8px 11px;font-size:14px}}
