/* Shared visual language: deep navy, evergreen, warm gold and ivory. */
:root { --white:#fff; --ink:#142f3a; --navy:#142f3a; --teal:#176b60; --gold:#b49355; --paper:#f7f7f3; --muted:#536762; --line:#d9e2de; }
.icon { width:24px; height:24px; flex:none; display:inline-block; vertical-align:middle; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.service-symbol,.audience-card>.icon { color:var(--teal); background:#e5eee8; border-radius:14px; padding:12px; width:56px; height:56px; }
.service-symbol { display:grid; place-items:center; margin-bottom:18px; }
.service-symbol .icon { width:32px; height:32px; }
#legal .service-open>.icon { width:48px; height:48px; color:var(--teal); margin-bottom:12px; }
.btn,.service,.audience-card,.sector-strip { transition:background-color .18s,border-color .18s,box-shadow .18s; }
.service,.audience-card,.sector-strip { box-shadow:0 8px 26px #142f3a06; }
.service:hover,.audience-card:hover { border-color:#8eaca0; box-shadow:0 10px 30px #142f3a0d; }
.primary { background:#d6be87; color:#142f3a; border-color:#d6be87; }
.primary:hover { background:#c9ad70; }
.audience-card { background:#fff; border-color:var(--line); }
.audience-card:hover { background:#f0f5f1; }
.sector-strip { background:#f9fbf8; border-color:#ccdcd3; }
.strip-item { color:var(--teal); }
.strip-item .icon { margin-inline-end:8px; }
.service-strip { background:#eaf1ec; }
.business-choices .btn { display:flex; align-items:center; gap:10px; min-height:56px; }
.business-choices .icon { color:var(--teal); }
.enquiry-sectors .btn { display:flex; align-items:center; justify-content:center; gap:8px; }
.enquiry-sectors .btn[aria-pressed="true"] { color:#193039; background:#dfedeb; border-color:#286c70; }
.enquiry-sectors.sector-selected { grid-template-columns:minmax(0,1fr); }
.enquiry-sectors .btn[hidden] { display:none; }
.returnbar a,.returnbar button { display:inline-flex; align-items:center; justify-content:center; gap:7px; }
.returnbar .whatsapp { background:#176b4b; color:#fff; }
.returnbar .whatsapp:hover { background:#12563c; }
.contact-help { font-size:14px; line-height:1.8; margin:14px 0 0; }
button,a,input,select,textarea { touch-action:manipulation; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid #287d8e; outline-offset:3px; }
@media(max-width:480px) { .returnbar { gap:4px; } .returnbar .icon { width:19px; height:19px; } .strip-item .icon { display:block; margin:0 auto 8px; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; scroll-behavior:auto!important; } }

/* WhatsApp links remain native links: no popup script or intercepted click. */
.returnbar { z-index: 9999; pointer-events: auto; }
a.whatsapp, a[href^="https://wa.me/"] {
  position: relative;
  z-index: 9999;
  pointer-events: auto;
  cursor: pointer;
  touch-action: manipulation;
}
a.whatsapp > *, a[href^="https://wa.me/"] > * { pointer-events: none; }
a.whatsapp::before, a.whatsapp::after { pointer-events: none; }

/* Distinct editorial service ribbon and permanent sector entrances. */
.service-strip { background:#142f3a; color:#fff; border-bottom:3px solid #b49355; }
.strip-heading { padding-top:18px; color:#d6be87; font-size:13px; letter-spacing:.04em; }
.dual-strips { gap:28px; padding-block:8px 20px; }
.sector-strip { background:transparent; border:0; border-radius:0; box-shadow:none; padding:0; text-align:start; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 14px; }
.sector-strip strong { color:#d6be87; font-size:13px; font-weight:normal; grid-column:1 / -1; }
.sector-strip .strip-window { min-height:72px; }
.sector-strip .strip-item { font-size:18px; color:#fff; padding:6px 0; text-decoration:none; line-height:1.6; }
.sector-strip .strip-item .icon { display:inline-block; width:22px; height:22px; margin:0; margin-inline-end:8px; color:#d6be87; vertical-align:middle; }
.sector-strip .strip-controls { align-self:center; flex-wrap:nowrap; gap:2px; }
.sector-strip .strip-controls button { min-width:36px; min-height:44px; background:transparent; color:#fff; border:1px solid #708589; padding:4px; border-radius:4px; }
.sector-strip .strip-controls button:hover { background:#29464f; }
.strip-count { margin:0; color:#bbc9c8; text-align:start; font-size:11px; }
.sector-heading { text-align:center; padding-top:38px; }
.sector-heading > span { color:#876b35; font-size:12px; }
.sector-heading h2 { margin:8px 0; font-size:clamp(22px,4vw,30px); color:#142f3a; }
.sector-heading p { color:#536762; font-size:15px; margin:0; }
.audience-entry { padding-block:22px 40px; gap:20px; }
.audience-card { background:#fff; border:1px solid #ddd9cd; border-top:3px solid #b49355; border-radius:8px; padding:26px 12px; gap:14px; box-shadow:0 8px 24px #142f3a07; }
.audience-card>.icon { background:#f2eee5; color:#80632e; border-radius:50%; width:58px; height:58px; }
.audience-card:hover { background:#faf8f2; border-color:#b49355; }
@media(max-width:700px) {
 .dual-strips { grid-template-columns:minmax(0,1fr); gap:12px; }
 .sector-strip + .sector-strip { border-top:1px solid #536a6e; padding-top:12px; }
 .sector-strip .strip-window { min-height:58px; }
 .sector-strip .strip-item { font-size:17px; }
 .sector-heading { padding-top:30px; }
 .audience-entry { gap:12px; padding-block:20px 30px; }
 .audience-card { padding:22px 10px; }
}
@media(max-width:360px) {
 .sector-strip { column-gap:6px; }
 .sector-strip .strip-controls button { min-width:30px; font-size:12px; }
 .sector-strip .strip-item { font-size:16px; }
}

/* External styles keep the strict CSP free of unsafe-inline. */
.fallback-contact { padding: 20px; }
.samples-link { margin-top: 18px; }
.contact.contact-continuation { padding-top: 0; }
.contact-address { display: block; margin-bottom: 0; }

/* A clear offer, honest proof and a short path to contact. */
.marketing-hero .hero-inner { min-height:0; padding-block:48px 40px; }
.marketing-hero .hero-copy { max-width:900px; }
.marketing-hero h1 { font-size:clamp(27px,3.8vw,48px); line-height:1.45; margin:14px 0; }
.marketing-hero p { font-size:17px; line-height:1.9; margin:12px 0; }
.marketing-hero .offer-note { font-size:13px; color:#d6dfdd; max-width:700px; }
.proof-rail { background:#fff; border-bottom:1px solid var(--line); padding-block:24px; }
.proof-heading h2 { font-size:20px; margin:0 0 6px; }
.proof-heading p { font-size:14px; color:var(--muted); margin:0; }
.proof-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:16px; }
.proof-links a { display:flex; align-items:center; min-height:48px; padding:10px 16px; color:var(--teal); border:1px solid #d8e3df; border-radius:6px; background:#f7faf8; text-decoration:underline; text-underline-offset:4px; font-weight:700; }
.commitment { background:#f1f3ed; }
.commitment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.commitment-grid article { min-width:0; padding:24px; background:#fff; border:1px solid var(--line); border-radius:8px; }
.commitment-number { color:#80632e; font-size:14px; }
.commitment-grid h3 { font-size:21px; margin:10px 0; }
.commitment-grid p,.referral-note p { font-size:15px; line-height:1.9; }
.commitment-grid summary { cursor:pointer; min-height:44px; padding-block:10px; font-weight:700; }
.text-action { display:inline-flex; min-height:44px; align-items:center; color:var(--teal); text-decoration:underline; text-underline-offset:4px; font-weight:700; }
.referral-note { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:28px; border-top:1px solid #c8d6cf; padding-top:22px; }
.referral-note>div { flex:1 1 280px; }
.referral-note h3,.referral-note p { margin:4px 0; }
.referral-note button { background:#fff; color:var(--ink); border:1px solid #809992; cursor:pointer; }
#referral-status,.referral-fallback { flex-basis:100%; }
.referral-fallback input { width:100%; font-size:16px; padding:12px; border:1px solid #809992; border-radius:6px; background:#fff; }
.assessment-note { padding:14px; border-inline-start:3px solid var(--gold); background:#f4f0e5; margin-bottom:18px; font-size:15px; }
.assessment-note[hidden],.referral-fallback[hidden] { display:none; }
.optional-name { margin-block:16px; }
.optional-name summary { min-height:44px; padding-block:10px; cursor:pointer; font-size:15px; color:var(--teal); }
.form-steps { color:var(--muted); font-size:13px; }
@media(max-width:800px) {
 .commitment-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
 .proof-links { grid-template-columns:minmax(0,1fr); }
 .marketing-hero .hero-inner { padding-block:28px; }
 .marketing-hero p { font-size:16px; }
}
@media(max-width:400px) {
 .marketing-hero .buttons { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
 .marketing-hero .buttons .btn { padding-inline:12px; font-size:14px; }
}
.requestcard label.privacy-consent { display:flex; align-items:flex-start; gap:12px; font-size:15px; line-height:1.8; margin-block:16px 6px; cursor:pointer; }
.requestcard .privacy-consent input[type="checkbox"] { width:20px; height:20px; min-height:20px; flex:0 0 20px; padding:0; margin:5px 0 0; accent-color:#176253; }
.privacy-consent a { text-decoration:underline; }
