/* Shared Uriel website system. Every page consumes the same controls and tokens. */
:root {
  --uriel-teal: #164250;
  --uriel-warm-white: #F8F7F4;
  --brand: var(--uriel-teal);
  --offwhite: var(--uriel-warm-white);
  --white: var(--uriel-warm-white);
  --text: var(--uriel-teal);
  --muted: var(--uriel-teal);
  --border: var(--uriel-teal);
  --control-radius: 6px;
  --panel-radius: 12px;
  --control-height: 48px;
  --page-gutter: clamp(20px, 4vw, 56px);
  color-scheme: light;
}
[hidden] { display: none !important; }
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--offwhite); color: var(--brand); font: 16px/1.65 'Helvetica Neue', Helvetica, Arial, sans-serif; }
button, input, select, textarea { font-family: inherit; }
h1, h2, h3, .phase-a h1 { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 700; }
h1 { letter-spacing: -.035em; line-height: 1.12; }
h2 { letter-spacing: -.02em; line-height: 1.25; }
h3 { letter-spacing: -.01em; line-height: 1.35; }
a { color: inherit; text-underline-offset: 4px; }
a:hover { text-decoration-thickness: 2px; }
::selection { background: var(--brand); color: var(--offwhite); }
:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
[id] { scroll-margin-top: 110px; }

/* One navigation layout, with visible links on smaller screens. */
nav[aria-label="Primary"] { position: sticky; top: 0; z-index: 200; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; min-height: 80px; height: auto; padding: 16px var(--page-gutter); background: var(--offwhite); border-bottom: 1px solid var(--brand); }
.nav-logo { display: flex; align-items: center; gap: 10px; flex-shrink: 0; text-decoration: none; }
.nav-logo .nl-icon { height: 38px; width: auto; }
.nav-logo .nl-text { height: 23px; width: auto; }
.nav-centre { display: flex; align-items: center; gap: 28px; list-style: none; margin: 0; padding: 0; }
.nav-centre a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; letter-spacing: 0; color: var(--brand); text-decoration: none; }
.nav-centre a:hover, .nav-centre a[aria-current="page"] { text-decoration: underline; text-underline-offset: 7px; }

/* 6px corners, 48px target, identical type and spacing on every action. */
:is(.nav-cta, .btn, .btn-primary, .btn-submit, .btn-learn, .landing-call a, .phase-a button, .cookie-banner button) {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: var(--control-height); padding: 12px 22px; margin: 0;
  border: 1px solid var(--brand); border-radius: var(--control-radius);
  background: var(--brand); color: var(--offwhite);
  font: 600 15px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif; letter-spacing: 0; text-align: center;
  text-decoration: none; cursor: pointer; white-space: normal;
  transition: background-color 160ms ease, color 160ms ease; box-shadow: none;
}
.phase-a a:is(.nav-cta, .btn, .btn-primary) { color: var(--offwhite); }
:is(.nav-cta, .btn, .btn-primary, .btn-submit, .btn-learn, .landing-call a, .phase-a button, .cookie-banner button):hover {
  opacity: 1; transform: none; background: var(--offwhite); color: var(--brand); text-decoration: none;
}
.phase-a a:is(.nav-cta, .btn, .btn-primary):hover { color: var(--brand); }
:is(.hero, .page-hero, .bottom-cta) :is(.btn-primary, .btn-white) { background: var(--offwhite); color: var(--brand); border-color: var(--offwhite); }
:is(.hero, .page-hero, .bottom-cta) :is(.btn-primary, .btn-white):hover { background: var(--brand); color: var(--offwhite); }
:is(.hero, .page-hero, .bottom-cta) .btn-outline { background: transparent; color: var(--offwhite); border-color: var(--offwhite); }
:is(.hero, .page-hero, .bottom-cta) .btn-outline:hover { background: var(--offwhite); color: var(--brand); }
.landing-call a, .cookie-banner button:first-child { background: var(--offwhite); color: var(--brand); }
.landing-call a:hover, .cookie-banner button:first-child:hover { background: var(--brand); color: var(--offwhite); }
button:disabled { opacity: 1; cursor: wait; border-style: dashed; }
.phase-a form > button[type=submit] { display: flex; width: 100%; margin: 24px 0 0; }

/* Content rhythm and readable line lengths. */
.phase-a { max-width: 808px; margin: 0 auto; padding: 56px var(--page-gutter); font: 16px/1.65 'Helvetica Neue', Helvetica, Arial, sans-serif; color: var(--brand); }
.phase-a h1 { font-size: clamp(32px, 4vw, 48px); margin: 0 0 24px; }
.phase-a h2 { font-size: 26px; margin: 36px 0 16px; }
.phase-a h3 { font-size: 20px; margin: 24px 0 12px; }
.phase-a p { margin: 0 0 20px; }
.phase-a section + section { margin-top: 32px; }
.phase-a a { color: inherit; }
.section-eyebrow { font-size: 12px; font-weight: 700; line-height: 1.4; letter-spacing: .12em; text-transform: uppercase; }
.hero, .page-hero, .bottom-cta { background: var(--brand); color: var(--offwhite); }
.hero::before, .hero::after { background: none !important; }
.hero h1, .page-hero h1 { font-size: clamp(34px, 4.5vw, 56px); font-weight: 700; }
.hero-content { padding: 80px var(--page-gutter); }
.hero { min-height: 0; }
.hero-sub, .page-hero p { font-size: 17px; max-width: 600px; }
.hero-actions, .page-hero-ctas, .bottom-cta-btns { gap: 12px; }
.intro-inner { max-width: 900px; padding: 48px var(--page-gutter); }
.intro-inner h2 { margin: 0 0 16px; }
.intro-inner p { max-width: 68ch; }
.bottom-cta { padding: 64px var(--page-gutter); }

/* Forms: persistent labels, generous targets and shared corner treatment. */
.phase-a label { display: block; margin: 16px 0; font-size: 14px; font-weight: 600; line-height: 1.5; }
.phase-a input, .phase-a textarea, .phase-a select { display: block; width: 100%; min-height: var(--control-height); margin-top: 6px; padding: 12px; border: 1px solid var(--brand); border-radius: var(--control-radius); background: var(--offwhite); color: var(--brand); font: 16px/1.5 'Helvetica Neue', Helvetica, Arial, sans-serif; accent-color: var(--brand); }
.phase-a textarea { min-height: 120px; resize: vertical; }
input::placeholder, textarea::placeholder { color: var(--brand); opacity: 1; }
.phase-a .honeypot { position: absolute; left: -10000px; }
.phase-a form > p { font-size: 14px; line-height: 1.6; }
[data-enquiry-status]:not(:empty) { margin-top: 20px; padding: 16px; border: 1px solid currentColor; border-radius: var(--control-radius); font-weight: 600; }
.preview-note, .confirm-fact { border-left: 2px solid var(--brand); padding: 10px 14px; background: var(--offwhite); font-size: 13px; line-height: 1.6; }

/* Home and high-intent landing pages share a two-column introduction/form. */
.home-layout, .blocked-drains { max-width: 1200px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: start; gap: 48px; padding-top: 48px; }
.home-intro, .landing-intro { padding-top: 8px; }
.home-intro h2 { font-size: 22px; }
.home-enquiry, .blocked-drains #enquiry { min-width: 0; padding: 28px; border: 1px solid var(--brand); border-radius: var(--panel-radius); background: var(--offwhite); }
.home-enquiry h2, .blocked-drains #enquiry h2 { margin-top: 0; }
.blocked-drains h1 { font-size: clamp(34px,4vw,48px); line-height: 1.12; }
.blocked-drains section { margin: 0; }
.blocked-drains .landing-call { text-align: left; }
.blocked-drains form label { margin: 14px 0; }
.blocked-drains form textarea { min-height: 104px; }
.blocked-drains .landing-details { grid-column: 1/-1; max-width: 760px; }
.blocked-drains ol { padding-left: 24px; }
.blocked-drains li { padding-left: 4px; margin-bottom: 14px; }

/* Footer and consent are shared website components. */
footer, .phase-a-home footer { background: var(--brand); color: var(--offwhite); padding: 40px var(--page-gutter); text-align: center; font: 13px/1.7 'Helvetica Neue', Helvetica, Arial, sans-serif; }
footer p, footer a { color: var(--offwhite); opacity: 1 !important; }
footer p { margin: 0 0 8px; }
footer a { display: inline-block; min-height: 32px; padding: 5px 0; }
footer .footer-links { display: flex; gap: 8px 16px; flex-wrap: wrap; justify-content: center; align-items: center; margin: 16px 0; }
.cookie-settings { display: block; min-height: 44px; margin: 8px auto; padding: 10px 16px; border: 0; border-radius: var(--control-radius); background: var(--offwhite); color: var(--brand); font: 14px/1.5 'Helvetica Neue', Helvetica, Arial, sans-serif; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.cookie-banner { position: fixed; bottom: 20px; left: 20px; right: 20px; z-index: 1000; max-width: 680px; margin: auto; padding: 24px; border: 1px solid var(--brand); border-radius: var(--panel-radius); background: var(--offwhite); color: var(--brand); box-shadow: none; font: 15px/1.6 'Helvetica Neue', Helvetica, Arial, sans-serif; }
.cookie-banner p { margin: 0 0 16px; }
.cookie-banner a { color: inherit; }
.cookie-banner > div { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.cookie-banner button { flex: 1 1 200px; }
@media(max-width: 760px) {
  nav[aria-label="Primary"] { gap: 8px 12px; padding: 12px 20px; }
  .nav-logo .nl-icon { height: 32px; }
  .nav-logo .nl-text { height: 19px; }
  .nav-centre { display: flex; order: 3; justify-content: space-between; width: 100%; gap: 12px; border-top: 1px solid var(--brand); }
  .nav-centre a { font-size: 13px; }
  .nav-cta { padding: 12px 16px; font-size: 14px; }
  [id] { scroll-margin-top: 140px; }
  .phase-a { padding-top: 32px; padding-bottom: 40px; }
  .home-layout, .blocked-drains { display: block; }
  .home-intro, .landing-intro { padding-top: 0; }
  .home-enquiry, .blocked-drains #enquiry { margin: 28px 0 0; padding: 20px; }
  .blocked-drains h1 { font-size: 34px; }
  .blocked-drains .landing-details { margin-top: 32px; }
  .hero, .page-hero { padding: 48px 20px; }
  .hero:has(.hero-content) { padding: 0; }
  .hero-content { padding: 48px 20px; }
  .hero h1, .page-hero h1 { font-size: 36px; }
  .hero-actions, .page-hero-ctas, .bottom-cta-btns { align-items: stretch; }
  .hero-actions a, .page-hero-ctas a, .bottom-cta-btns a { flex: 1 1 180px; }
}
@media(max-width: 480px) {
  .cookie-banner { bottom: 12px; left: 12px; right: 12px; padding: 20px; max-height: 80vh; overflow: auto; }
  .cookie-banner button { width: 100%; margin: 0; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
.home-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.phase-a a.btn-outline{background:var(--offwhite);color:var(--brand)}
.phase-a a.btn-outline:hover{background:var(--brand);color:var(--offwhite)}
.service-overview{max-width:1120px}
.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin:28px 0 48px;border-top:1px solid var(--brand)}
.phase-a .services-grid .service-card{margin:0;padding:28px 0;border-bottom:1px solid var(--brand)}
.service-card h3{margin:0 0 12px}
.service-card p{margin-bottom:0;max-width:48ch}
.service-card h3 a{text-decoration:none}
.service-card h3 a:hover{text-decoration:underline}
@media(max-width:600px){.services-grid{grid-template-columns:1fr;margin-bottom:36px}}
:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
:is(.hero,.page-hero,.bottom-cta,footer) :focus-visible{outline-color:var(--offwhite)}

/* Homepage: upgraded from Nathan's selected live /services page. */
.homepage h1,.homepage h2,.homepage h3{margin-top:0}
.home-hero{background:var(--brand);color:var(--offwhite);text-align:center;padding:72px var(--page-gutter)}
.home-hero-inner{max-width:800px;margin:0 auto}
.home-hero h1{font-size:clamp(44px,5vw,64px);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin:0 0 28px}
.home-hero p{max-width:620px;margin:0 auto 28px;font-size:18px;line-height:1.65}
.home-hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:32px 0 20px}
.home-hero .btn-primary{background:var(--offwhite);color:var(--brand);border-color:var(--offwhite)}
.home-hero .btn-primary:hover{background:var(--brand);color:var(--offwhite)}
.home-hero .btn-outline{background:var(--brand);color:var(--offwhite);border-color:var(--offwhite)}
.home-hero .btn-outline:hover{background:var(--offwhite);color:var(--brand)}
.home-hero .home-hero-phone{font-size:15px;margin-bottom:0}
.home-hero-phone a{display:inline-block;padding:8px;min-height:40px}
.home-hero :focus-visible,.home-commercial :focus-visible{outline-color:var(--offwhite)}
.home-services,.home-story,.home-commercial>*,.home-contact{max-width:1200px;margin-left:auto;margin-right:auto}
.home-services{padding:72px var(--page-gutter)}
.home-section-heading{max-width:680px;margin-bottom:32px}
.home-section-heading h2,.home-story h2,.home-contact-intro h2{font-size:clamp(28px,3vw,38px);line-height:1.22;letter-spacing:-.025em;font-weight:800;margin:0 0 20px}
.home-section-heading p{margin:0 0 12px}
.home-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-service-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:28px;border:1px solid var(--brand);border-radius:var(--panel-radius);color:var(--brand);background:var(--offwhite);text-decoration:none}
.home-service-card:hover{background:var(--brand);color:var(--offwhite);text-decoration:none}
.home-service-card:focus-visible{outline-color:var(--brand)}
.home-service-card h3{font-size:21px;line-height:1.25;letter-spacing:-.02em;margin:0}
.home-service-card p{font-size:15px;line-height:1.65;margin:0}
.home-service-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px}
.home-service-icon svg{width:40px;height:40px}
.home-service-icon [stroke]:not([stroke="none"]){stroke:currentColor}
.home-service-icon [fill]:not([fill="none"]){fill:currentColor}
.home-card-link{display:block;margin-top:auto;padding-top:12px;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.home-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;padding:8px var(--page-gutter) 80px}
.home-story-copy p{margin:0 0 24px}
.home-story-image{margin:0;overflow:hidden;border-radius:var(--panel-radius)}
.home-story-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
.home-commercial{background:var(--brand);color:var(--offwhite);padding:64px var(--page-gutter)}
.home-commercial .home-section-heading{max-width:1088px}
.home-commercial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;max-width:1088px}
.home-commercial-grid article{padding-top:24px;border-top:1px solid var(--offwhite)}
.home-commercial h3{font-size:21px;line-height:1.3;margin-bottom:16px}
.home-commercial p{margin-bottom:0}
.home-contact.phase-a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:48px;padding:72px var(--page-gutter)}
.home-contact-intro{padding-top:8px}
.home-contact-intro ol{padding-left:24px;margin:32px 0}
.home-contact-intro li{margin:0 0 20px;padding-left:6px}
.home-contact .home-enquiry{margin:0}
@media(max-width:900px){.home-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-story{gap:28px}.home-commercial-grid{gap:24px}}
@media(max-width:700px){
 .home-hero{padding:48px 20px}.home-hero h1{font-size:48px}.home-hero p{font-size:16px}
 .home-services{padding:48px 20px}.home-service-grid{grid-template-columns:1fr;gap:16px}.home-service-card{padding:24px}
 .home-story{grid-template-columns:1fr;padding:0 20px 48px;gap:24px}
 .home-commercial{padding:48px 20px}.home-commercial-grid{grid-template-columns:1fr;gap:28px}
 .home-contact.phase-a{display:block;padding:48px 20px}.home-contact .home-enquiry{margin-top:32px}
 .home-hero-actions .btn{flex:1 1 160px}
}
.home-commercial .btn-primary{background:var(--offwhite);color:var(--brand);border-color:var(--offwhite);margin-top:32px}
.home-commercial .btn-primary:hover{background:var(--brand);color:var(--offwhite)}
.home-story .btn-outline{background:var(--offwhite);color:var(--brand)}
.home-story .btn-outline:hover{background:var(--brand);color:var(--offwhite)}
.home-hero .section-eyebrow{font-size:12px;letter-spacing:.14em;margin-bottom:24px}
.home-item-number{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;margin-bottom:16px}
.home-commercial>.btn{display:flex;width:fit-content;max-width:100%;margin:32px auto 0}

/* Quiet, persistent privacy controls belong to the shared footer. */
footer .footer-links a, footer .cookie-settings { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 0; }
footer .cookie-settings { margin:0; background:transparent; color:var(--offwhite); font:inherit; line-height:1.7; }
footer .cookie-settings:hover { text-decoration-thickness:2px; }
footer .footer-sep { user-select:none; }
@media(max-width:480px) { footer .footer-links { gap:4px 20px; } footer .footer-sep { display:none; } }

/* Nathan selected the live /services typography and fade for the website.
   Decorative motion settles within five seconds; reduced motion stays static. */
.home-hero { position:relative; isolation:isolate; overflow:hidden; }
.home-hero-inner { position:relative; z-index:1; }
.home-hero::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse at 60% 50%, rgba(248,247,244,.04), transparent 65%); }
.home-hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 55% 60% at 50% 50%, var(--offwhite), transparent); opacity:.04; animation:uriel-hero-glow 4.8s ease-in-out 1; }
.home-hero-word { display:block; opacity:1; animation:uriel-word-fade 4.2s ease-in-out 1; }
.home-hero-word:nth-child(2) { animation-delay:.3s; }
.home-hero-word:nth-child(3) { animation-delay:.6s; }
@keyframes uriel-word-fade { 0%,100% { opacity:1; } 50% { opacity:.72; } }
@keyframes uriel-hero-glow { 0%,100% { opacity:.04; } 50% { opacity:.09; } }
@media(prefers-reduced-motion:reduce) { .home-hero-word,.home-hero::after { animation:none !important; } }

/* Service pages share a considered editorial layout and direct enquiry route. */
.service-shell{max-width:1200px;margin:0 auto;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.service-hero{position:relative;isolation:isolate;background:var(--brand);color:var(--offwhite);padding:56px 0 64px}
.service-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 65% 30%,rgba(248,247,244,.09),transparent 65%);pointer-events:none}
.service-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:64px;align-items:center}
.service-back{display:inline-block;margin-bottom:32px;padding:8px 0;font-size:14px}
.service-hero h1{font-size:clamp(38px,4.5vw,62px);font-weight:800;line-height:1.08;margin:16px 0 24px}
.service-hero p{max-width:56ch;line-height:1.65;margin-bottom:20px}
.service-hero .service-standfirst{font-size:22px;line-height:1.4}
.service-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.service-hero .btn-primary{background:var(--offwhite);color:var(--brand);border-color:var(--offwhite)}
.service-hero .btn-outline{background:transparent;color:var(--offwhite);border-color:var(--offwhite)}
.service-hero .btn-primary:hover{background:transparent;color:var(--offwhite)}
.service-hero .btn-outline:hover{background:var(--offwhite);color:var(--brand)}
.service-hero :focus-visible{outline-color:var(--offwhite)}
.service-brief{border:1px solid var(--offwhite);border-radius:var(--panel-radius);padding:32px}
.service-brief h2{font-size:26px;line-height:1.25;margin:0 0 24px}
.service-brief ul{list-style:none;margin:0 0 24px;padding:0}
.service-brief li{padding:14px 0;border-bottom:1px solid var(--offwhite)}
.service-brief>a{display:inline-block;padding:10px 0;font-weight:700}
.service-section{padding-top:72px;padding-bottom:72px}
.service-detail h2{letter-spacing:-.025em}
.service-section-heading{max-width:650px;margin-bottom:36px}
.service-section h2,.service-process h2{font-size:clamp(28px,3vw,38px);line-height:1.2;margin:12px 0 24px}
.service-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.service-detail-grid article{border-top:1px solid var(--brand);padding-top:24px}
.service-number{display:block;font-size:12px;font-weight:700;letter-spacing:.12em;margin-bottom:20px}
.service-detail h3{font-size:21px;line-height:1.3;margin:0 0 16px}
.service-detail p{line-height:1.65}
.service-process{padding:56px 0;border-top:1px solid var(--brand);border-bottom:1px solid var(--brand)}
.service-process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;list-style:none;padding:0;margin:36px 0 0}
.service-faq{display:grid;grid-template-columns:1fr 1.4fr;gap:64px}
.service-faq details{border-bottom:1px solid var(--brand)}
.service-faq summary{padding:22px 28px 22px 0;cursor:pointer;font-weight:700;line-height:1.5}
.service-faq details p{padding:0 0 24px;margin:0;max-width:62ch}
.service-enquiry.phase-a{max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:64px;border-top:1px solid var(--brand)}
.service-form{min-width:0;border:1px solid var(--brand);border-radius:var(--panel-radius);padding:28px}
.service-form h2{font-size:24px;margin-top:0}
.service-contact{display:inline-block;font-size:26px;font-weight:700;padding:12px 0}
.service-related{padding-top:24px;padding-bottom:64px}
.service-related h2{font-size:26px;margin:12px 0 24px}
.service-related>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.service-related a{display:flex;justify-content:space-between;gap:12px;padding:20px 0;border-top:1px solid var(--brand);font-weight:600}
@media(max-width:900px){.service-hero-grid,.service-faq,.service-enquiry.phase-a{gap:32px}.service-brief{padding:24px}}
@media(max-width:700px){.service-hero{padding:24px 0 40px}.service-hero-grid,.service-detail-grid,.service-process ol,.service-faq,.service-enquiry.phase-a,.service-related>div{grid-template-columns:1fr}.service-section{padding-top:44px;padding-bottom:44px}.service-actions .btn{flex:1 1 220px}.service-hero h1{font-size:40px}.service-brief{margin-top:8px}.service-process{padding:40px 0}.service-process ol{gap:28px}.service-form{padding:20px}.service-enquiry.phase-a{padding-top:44px;padding-bottom:44px}.service-related{padding-bottom:44px}}
.service-hero .section-eyebrow{color:var(--offwhite)}

/* About: useful company context, with whitespace instead of full-width rules. */
.about-detail h2{font-size:clamp(28px,3vw,38px);line-height:1.2;margin:12px 0 28px;letter-spacing:-.025em}
.about-detail h3{font-size:22px;line-height:1.3;margin:0 0 18px}
.about-detail p{margin:0 0 20px;line-height:1.7;max-width:65ch}
.about-section{padding-top:72px;padding-bottom:72px}
.about-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px}
.about-image{margin:0;border-radius:12px;overflow:hidden}.about-image img{display:block;width:100%;height:auto}
.about-values{background:var(--brand);color:var(--offwhite);padding:64px 0}.about-values .section-eyebrow{color:inherit}
.about-values .about-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:40px}
.about-company{padding:32px;border-radius:12px;background:var(--brand);color:var(--offwhite)}.about-company .section-eyebrow{color:inherit}.about-company a:focus-visible{outline-color:var(--offwhite)}
@media(max-width:700px){.about-columns,.about-values .about-columns{grid-template-columns:1fr;gap:32px}.about-section{padding-top:44px;padding-bottom:44px}.about-values{padding:44px 0}.about-company{padding:24px}}
