:root{--blue:#2379fa;--ink:#101822;--muted:#48576a;--wash:#e8f1ff;--line:#dce6f3;--radius:28px}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 Inter,system-ui,sans-serif;color:var(--ink);background:#fff}a{color:inherit}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0 0 .65em}h1,h2,h3{line-height:1.09;letter-spacing:-.04em}h1{font-size:clamp(2.65rem,5vw,5.4rem)}h2{font-size:clamp(2rem,3.6vw,3.6rem)}h3{font-size:1.3rem}p{color:var(--muted)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #2379fa;outline-offset:4px}button,input,select{font:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;left:12px;top:-100px;background:#fff;padding:10px;z-index:4}.skip:focus{top:12px}.head{background:#f6f9fe}.head .wrap{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;flex:none}.brand img{width:106px;height:auto}.nav{display:flex;gap:25px;align-items:center;flex-wrap:wrap}.nav a,.foot a{text-decoration:none}.nav a:hover,.nav [aria-current],.foot a:hover{text-decoration:underline;text-underline-offset:4px}.button{display:inline-flex;align-items:center;gap:.7em;padding:.75em 1.2em;border-radius:999px;background:#075bcc;color:white;text-decoration:none;font-weight:700;border:1px solid transparent}.button::after{content:'↗'}.button:hover{background:#084ba0}.button.outline{background:white;border-color:#8db8fa;color:#075bcc}.button.outline:hover{background:#e8f1ff}.button.dark{background:#070e19}.button.dark:hover{background:#192942}.hero{background:radial-gradient(ellipse at 60% 10%,#dceaff,transparent 68%),linear-gradient(#f6f9fe,#fff);padding:76px 0 86px}.hero.compact{padding-block:62px}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,6vw,90px)}.hero p,.lede{font-size:1.12rem;max-width:39rem}.hero img,.photo{width:100%;border-radius:var(--radius);object-fit:cover}.hero img{mix-blend-mode:multiply}.hero .photo{mix-blend-mode:normal;max-height:420px}.accent{color:#075bcc}.section{padding:76px 0}.wash{background:linear-gradient(#f9fbff,#e8f1ff)}.center{text-align:center}.center p{margin-inline:auto}.tag{display:inline-block;border-radius:999px;background:#e2edff;color:#0959ba;font-size:.82rem;font-weight:750;padding:.25em .85em;margin-bottom:1rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.steps{grid-template-columns:repeat(5,minmax(0,1fr));counter-reset:step}.card{padding:25px;border-radius:22px;background:linear-gradient(#f9fbff,#e6effe);border:1px solid var(--line)}.wash .card{background:white}.card p:last-child{margin-bottom:0}.steps .card::before,.letter{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e2edff;color:#075bcc;font-weight:800;margin-bottom:13px}.steps .card::before{counter-increment:step;content:counter(step)}.checklist{padding-left:1.2em;color:var(--muted)}.checklist li{margin-bottom:.5em}.faq{max-width:760px;margin-inline:auto}.faq details{border-bottom:1px solid var(--line);padding:16px 0}.faq details p{padding:8px 0 0}.faq summary{cursor:pointer;font-weight:700}.cta,.foot{width:min(1400px,calc(100% - 32px));margin:16px auto;border-radius:var(--radius);padding:clamp(28px,6vw,78px) 24px}.cta{background:#1768df;color:white;text-align:center}.cta h2{font-size:clamp(2.5rem,6vw,6rem);max-width:900px;margin-inline:auto}.cta p{color:#fff}.foot{background:radial-gradient(ellipse at bottom,#102f5b,#070c15 68%);color:#fff}.foot p{color:#c8d5e8}.foot .wrap{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.foot ul{list-style:none;margin:0;padding:0}.foot a{overflow-wrap:anywhere}.filters{display:flex;flex-wrap:wrap;gap:14px;align-items:end;justify-content:center;margin:24px 0}.filters label{display:grid;gap:5px;font-weight:700;text-align:left}.filters input,.filters select{padding:.65em .85em;border:1px solid #aabdd9;background:white;border-radius:14px;max-width:100%}.filters input{width:min(340px,75vw)}.directory{grid-template-columns:repeat(4,minmax(0,1fr))}.directory a{display:block;padding:.3em 0;text-underline-offset:3px}.directory a:hover{color:#075bcc}[hidden]{display:none!important}.spacer{margin-top:25px}
@media(max-width:940px){.grid.steps{grid-template-columns:repeat(3,minmax(0,1fr))}.head .wrap{flex-wrap:wrap;padding-block:12px;gap:12px}.nav{order:3;width:100%;gap:16px}.directory{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.wrap{width:calc(100% - 32px)}.hero,.hero.compact,.section{padding-block:46px}.split,.grid,.grid.steps,.grid.two{grid-template-columns:1fr}.directory{grid-template-columns:repeat(2,minmax(0,1fr))}.foot .wrap{grid-template-columns:1fr}.head .button{font-size:.87rem}.nav{font-size:.9rem}.card{padding:17px}}

.filter-reset{padding:.65em .85em;border:1px solid #aabdd9;border-radius:14px;background:#fff;color:#075bcc;cursor:pointer}.filter-reset:hover{background:#e8f1ff}
@media(max-width:650px){.nav a{display:inline-flex;align-items:center;min-height:44px}.nav{column-gap:16px;row-gap:0}}

.home-hero{background:#f5f8fd;border-block:1px solid var(--line)}
.home-hero h1{font-size:clamp(2.45rem,5vw,4.6rem);margin-bottom:1.25rem}
.home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:1.5rem}
.home-actions .button::after{content:none}
.home-link{color:#075bcc;font-weight:700;text-underline-offset:4px}
.home-plan{background:white;border:1px solid var(--line);border-radius:22px;padding:clamp(20px,4vw,38px)}
.home-plan h2{font-size:clamp(1.4rem,2.5vw,1.85rem);margin-bottom:1rem}
.home-plan dl,.home-plan dd{margin:0}
.home-plan dl div{padding:.85rem 0;border-top:1px solid var(--line)}
.home-plan dl div:last-child{padding-bottom:0}
.home-plan dt{font-weight:750}
.home-plan dd{color:var(--muted)}
.home-contact h2{font-size:clamp(2rem,4vw,3.5rem)}
.home-contact p{max-width:39rem;margin:0 auto 1.2rem}
.home-contact .home-email{margin:1rem auto 0;overflow-wrap:anywhere}

.lead-wrap{max-width:730px}
.lead-wrap h1{font-size:clamp(2rem,5vw,3.6rem)}
.lead-form{padding:clamp(16px,4vw,32px);margin:24px 0;background:#f5f8fd;border:1px solid var(--line);border-radius:20px}
.lead-form fieldset{border:0;padding:0;margin:0;min-inline-size:0}
.lead-form legend{font-size:1.4rem;font-weight:750;margin-bottom:12px}
.lead-form label{display:grid;gap:5px;margin-bottom:14px;font-weight:650}
.lead-form input,.lead-form select,.lead-form textarea{font:inherit;font-weight:400;width:100%;padding:.6rem .75rem;border:1px solid #879ab1;border-radius:8px;background:white;color:var(--ink)}
.lead-form [hidden]{display:none}
.lead-form .button{cursor:pointer}
.lead-form [data-status]:not(:empty){margin-top:1rem}

.service-hero .wrap{align-items:center}
.service-hero nav{font-size:.9rem;margin-bottom:1rem}
.service-hero h1{font-size:clamp(2.25rem,5vw,4.35rem);overflow-wrap:anywhere}
.service-icon{display:grid;place-items:center;background:#e2edff;color:#08499e;width:42px;height:42px;border-radius:12px;font-size:1.45rem;font-weight:700;margin-bottom:1rem}
.service-hero img.service-image{width:100%;aspect-ratio:3/2;object-fit:cover;mix-blend-mode:normal;border:1px solid var(--line)}
.service-example{border-left:3px solid #2379fa;padding-left:1rem;margin-top:1.5rem}
.service-example p{margin-bottom:0}
.service-delivery{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}
.service-delivery p{margin-bottom:0}
.service-detail h2{font-size:clamp(1.55rem,3vw,2.15rem)}
.service-detail .checklist a{text-underline-offset:3px}

.about-page h1 { font-size: clamp(2.5rem, 5vw, 4.6rem); text-wrap: balance; }
.about-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; }
.about-specialist { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: start; gap: 28px; }
.about-story p { max-width: 65ch; }
.about-page .grid.steps { list-style: none; padding: 0; margin-top: 28px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.about-next { max-width: 68ch; margin-top: 28px; }
.about-page .decision-strip { padding-block: 24px; border-block: 1px solid var(--line); background: #f7faff; }
.about-page .decision-strip .wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.about-page .decision-strip a { font-weight: 750; text-underline-offset: .2em; }
.about-page .decision-strip p { margin: .25rem 0 0; }
.about-terms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 28px; }
.about-page .faq { margin-top: 12px; }
.about-cta-actions { justify-content: center; margin: 0 auto 1rem; }
.company-panel { padding: clamp(20px, 4vw, 42px); background: #fff; border: 1px solid var(--line); border-radius: 20px; }
.company-panel dl { display: grid; grid-template-columns: minmax(130px, .35fr) 1fr; gap: 9px 20px; max-width: 760px; }
.company-panel dd { margin: 0; }
.foot a[href*="company-information.service.gov.uk"] { text-decoration: underline; text-underline-offset: .2em; }
@media (max-width: 720px) {
  .about-page .decision-strip .wrap, .about-terms { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 650px) {
  .about-specialist, .company-panel dl { grid-template-columns: minmax(0, 1fr); }
  .about-page .grid.steps { grid-template-columns: minmax(0, 1fr); }
  .company-panel dd { margin-bottom: 8px; }
}
