/* BCP Web design system: edit these tokens to change the entire site. */
:root {
  --blue: #2358ee;
  --blue-hover: #1645cd;
  --pink: #f13f87;
  --ink: #142039;
  --muted: #57647a;
  --line: #e3e8f1;
  --surface: #f6f8fc;
  --pale-blue: #eef3ff;
  --white: #fff;
  --navy: #101d36;
  --error: #a51b38;
  --radius: 12px;
  --ease: cubic-bezier(.2,.7,.3,1);
  --container: 1248px;
  font-synthesis: none;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 116px; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; font-size: 16px; line-height: 1.65; color: var(--ink); background: var(--white); -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: 4px; }
button, input, textarea { font: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: wait; opacity: .72; }
a, button, summary, input, textarea { outline-offset: 4px; }
:focus-visible { outline: 3px solid var(--blue); }
::selection { background: #dce6ff; color: var(--ink); }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3 { line-height: 1.12; font-weight: 700; }
h1 { font-size: clamp(44px, 5.2vw, 74px); letter-spacing: -.052em; }
h2 { font-size: clamp(32px, 3.3vw, 46px); letter-spacing: -.045em; }
h3 { font-size: 23px; letter-spacing: -.028em; }
p { color: var(--muted); }
.container { width: min(var(--container), calc(100% - 112px)); margin-inline: auto; }
.icon { display: inline-block; flex-shrink: 0; vertical-align: middle; width: 22px; height: 22px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -70px; left: 20px; padding: 12px 20px; z-index: 100; background: var(--blue); color: white; border-radius: 6px; }
.skip-link:focus { top: 12px; }
.small { font-size: 13px; line-height: 1.65; }
.muted { color: var(--muted); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 15px; min-height: 49px; padding: 12px 21px; border: 1px solid transparent; border-radius: 7px; background: var(--blue); color: white; font-size: 14px; font-weight: 600; line-height: 1.35; text-decoration: none; transition: background .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease); }
.button .icon { width: 19px; height: 19px; transition: transform .18s var(--ease); }
.button:hover { background: var(--blue-hover); box-shadow: 0 5px 14px #2358ee20; }
.button:hover .icon { transform: translateX(3px); }
.button:active { transform: translateY(1px); }
.button-outline { border-color: var(--blue); background: white; color: var(--blue); }
.button-outline:hover { background: var(--pale-blue); }
.button-small { min-height: 44px; font-size: 13px; }
.text-link { display: inline-flex; align-items: center; gap: 10px; color: var(--blue); font-size: 14px; font-weight: 600; text-decoration: none; }
.text-link:hover { text-decoration: underline; }
.text-link .icon { width: 20px; height: 20px; transition: transform .18s var(--ease); }
.text-link:hover .icon:last-child { transform: translateX(3px); }
.icon-button { display: inline-flex; justify-content: center; align-items: center; width: 44px; height: 44px; flex-shrink: 0; border: 0; border-radius: 6px; background: transparent; color: var(--ink); text-decoration: none; }
.icon-button:hover { background: var(--surface); color: var(--blue); }
.section-label { color: var(--blue); font-size: 11px; line-height: 1.5; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 19px; }
.section { padding-block: 106px; }
.section-heading { display: grid; grid-template-columns: 1.35fr 1fr; align-items: end; gap: 96px; margin-bottom: 53px; }
.section-heading > p { max-width: 395px; font-size: 16px; line-height: 1.8; padding-bottom: 3px; }
.section-heading h2 span, .local-section h2 span, .closing-cta h2 span { color: var(--muted); }
/* Navigation stays real, crawlable HTML. Native details work without JS. */
.site-header { position: sticky; top: 0; z-index: 40; background: #fffffffa; border-bottom: 1px solid #e7ecf4; }
.header-inner { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: block; flex: 0 0 184px; }
.site-nav { display: flex; align-items: center; gap: 29px; margin-left: auto; }
.site-nav > a, .nav-dropdown > summary { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 550; text-decoration: none; color: #35415a; padding-block: 16px; white-space: nowrap; }
.site-nav > a:hover, .nav-dropdown summary:hover, .nav-dropdown summary.current, .site-nav a[aria-current] { color: var(--blue); }
.nav-dropdown { position: relative; }
.nav-dropdown summary { cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
.nav-dropdown summary .icon { width: 14px; height: 14px; }
.nav-dropdown[open] summary .icon { transform: rotate(180deg); }
.dropdown-panel { max-height: min(70vh, 560px); overflow-y: auto; position: absolute; left: -20px; top: 100%; width: 280px; padding: 12px; background: var(--white); border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 18px 42px #1e345419; }
.dropdown-panel a { display: flex; align-items: center; gap: 10px; padding: 12px; border-radius: 5px; color: var(--muted); font-size: 13px; line-height: 1.5; text-decoration: none; }
.dropdown-panel a:hover { background: var(--pale-blue); color: var(--blue); }
.dropdown-panel .dropdown-overview { color: var(--blue); font-weight: 650; border-bottom: 1px solid var(--line); border-radius: 0; margin-bottom: 5px; }
.header-actions { display: flex; align-items: center; gap: 11px; }
.header-cta { min-height: 43px; padding: 11px 17px; font-size: 12px; gap: 12px; }
.menu-toggle, .site-nav .mobile-nav-cta, .mobile-discovery { display: none; }
/* First viewport: one clear proposition and a real discovery form. */
.home-hero { position: relative; background: linear-gradient(110deg,#fff 38%,#f9fbff 100%); overflow: clip; }
.home-hero::before { content: ""; position: absolute; right: -140px; top: -30px; width: 600px; height: 600px; background-image: linear-gradient(#2358ee04 1px,transparent 1px),linear-gradient(90deg,#2358ee04 1px,transparent 1px); background-size: 44px 44px; transform: rotate(-12deg); pointer-events: none; }
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 442px; gap: clamp(38px,5.5vw,82px); align-items: center; padding-block: 64px 53px; }
.hero-copy { padding-bottom: 4px; }
.hero-copy h1 { font-size: clamp(48px,5.3vw,76px); line-height: 1.07; white-space: nowrap; letter-spacing: -.055em; }
.hero-copy h1 span { color: var(--blue); }
.hero-intro { font-size: 19px; line-height: 1.7; max-width: 565px; margin-top: 27px; color: #3e4b64; }
.hero-detail { max-width: 505px; font-size: 16px; line-height: 1.75; margin-top: 17px; }
.hero-local { display: flex; align-items: center; gap: 12px; margin-top: 27px; }
.hero-local > .icon { color: var(--blue); width: 23px; height: 23px; }
.hero-local p { font-size: 14px; line-height: 1.7; color: #3d4a62; }
.hero-whatsapp { margin-top: 26px; font-size: 12px; gap: 9px; color: #3d4a62; }
.hero-whatsapp .icon:first-child { width: 21px; height: 21px; color: #187650; }
.hero-whatsapp .icon:last-child { width: 15px; height: 15px; }
.expertise-strip { display: grid; grid-template-columns: 1fr 1fr 1fr; border-top: 1px solid var(--line); padding-block: 24px 28px; gap: 28px; }
.expertise-strip > div { display: flex; flex-direction: column; gap: 2px; padding-left: 26px; border-left: 1px solid var(--line); }
.expertise-strip > div:first-child { padding-left: 0; border: 0; }
.expertise-strip span { font-size: 12px; color: var(--muted); }
.expertise-strip .strip-value { color: var(--ink); font-size: 17px; font-weight: 650; letter-spacing: -.02em; }
/* Enquiry panel; release 2.0 requires business and message, with phone/website optional. */
.discovery-panel { position: relative; align-self: start; background: #fff; border: 1px solid #dfe6f3; border-radius: var(--radius); box-shadow: 0 18px 55px #2139640c,0 2px 7px #21396405; padding: 28px 28px 23px; scroll-margin-top: 114px; }
.form-accent { display: block; width: 32px; height: 3px; background: var(--pink); margin-bottom: 14px; }
.form-caption { color: var(--blue); font-size: 10px; font-weight: 650; letter-spacing: .045em; margin-bottom: 7px; }
.form-heading h2 { font-size: 30px; letter-spacing: -.04em; margin-bottom: 10px; }
.form-heading > p:last-child { font-size: 13px; line-height: 1.65; max-width: 355px; }
.enquiry-form { display: flex; flex-direction: column; gap: 15px; margin-top: 22px; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.field { min-width: 0; }
.field label { display: block; color: #2a3751; font-size: 11px; font-weight: 600; margin-bottom: 6px; }
.field label > span:not(.optional) { color: var(--blue); }
.optional { color: #69768b; font-size: 10px; font-weight: 400; margin-left: 6px; }
input:not([type="hidden"]), textarea { display: block; width: 100%; min-width: 0; border: 1px solid #8692a8; border-radius: 5px; background: #fcfdff; color: var(--ink); font-size: 13px; line-height: 1.5; padding: 10px 11px; transition: border-color .15s ease,box-shadow .15s ease; }
input:not([type="hidden"]) { min-height: 43px; }
textarea { resize: vertical; min-height: 85px; max-height: 300px; }
input::placeholder, textarea::placeholder { color: #66738a; opacity: 1; }
input:focus, textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #2358ee0f; }
input[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--error); }
.field-error { display: block; margin-top: 5px; color: var(--error); font-size: 11px; line-height: 1.5; }
.extra-fields { margin-top: -1px; }
.extra-fields summary { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 11px; color: #506078; list-style: none; padding-block: 3px; }
.extra-fields summary:hover { color: var(--blue); }
.extra-fields summary .icon { width: 14px; height: 14px; }
.extra-fields[open] summary .icon { transform: rotate(180deg); }
.extra-fields-inner { padding-top: 13px; display: grid; gap: 14px; }
.form-submit { width: 100%; justify-content: space-between; font-size: 12px; min-height: 47px; padding-inline: 16px; }
.form-submit .icon { width: 18px; height: 18px; }
.form-privacy { font-size: 10px; text-align: center; line-height: 1.7; margin-top: -4px; }
.form-privacy a { color: #475978; }
.form-feedback { border: 1px solid #eeb3bd; border-radius: 6px; background: #fff5f6; padding: 12px; color: #941b35; font-size: 13px; line-height: 1.6; }
.form-trap { display: none; }
.bot-check { min-width:0; padding:12px; border:1px solid var(--line); border-radius:7px; background:var(--surface); }
.bot-check-widget { width:100%; min-width:0; }
.bot-check-status { font-size:12px; line-height:1.6; color:var(--muted); }
.bot-check[data-state="ready"] .bot-check-status { color:var(--blue); }
.bot-check[data-state="error"] .bot-check-status,
.bot-check[data-state="unavailable"] .bot-check-status { color:var(--error); }
.bot-check-contact,.bot-check-noscript { margin-top:6px; font-size:11px; line-height:1.7; overflow-wrap:anywhere; }
.bot-check-contact a { color:var(--blue); }
.bot-check-retry { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; border:0; background:transparent; color:var(--blue); font-size:12px; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.bot-check-widget:not(:empty) { margin-bottom:7px; }
/* Homepage rhythm. */
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; }
.service-card { border-top: 1px solid #cfd8e9; padding: 25px 0 0; display: flex; flex-direction: column; align-items: flex-start; }
.service-top { width: 100%; display: flex; justify-content: space-between; align-items: center; color: var(--blue); margin-bottom: 27px; }
.service-top .icon { width: 29px; height: 29px; }
.service-top span { color: #69768b; font-size: 11px; font-family: ui-monospace,monospace; }
.service-card h3 { max-width: 290px; font-size: 23px; line-height: 1.25; margin-bottom: 18px; }
.service-card h3 a { text-decoration: none; }
.service-card h3 a:hover { color: var(--blue); }
.service-card p { font-size: 14px; line-height: 1.85; }
.service-card .service-short { font-size: 14px; font-weight: 600; color: #36435c; margin-bottom: 8px; }
.service-card .service-link { margin-top: auto; padding-top: 24px; font-size: 12px; }
.whole-business { background: var(--navy); color: white; padding-block: 89px; position: relative; }
.business-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 112px; align-items: center; }
.whole-business .section-label { color: #9ab5ff; }
.whole-business h2 { font-size: clamp(32px,3.1vw,45px); margin-bottom: 23px; }
.whole-business h2 span { color: var(--pink); }
.whole-business p { color: #e1e7f4; font-size: 16px; line-height: 1.8; max-width: 460px; }
.whole-business .business-secondary { color: #9cacc6; font-size: 14px; margin-top: 15px; }
.whole-business .text-link { color: #b0c7ff; margin-top: 24px; font-size: 13px; }
.business-flow { border-top: 1px solid #34415b; }
.flow-row { display: flex; align-items: center; gap: 21px; padding: 22px 0; border-bottom: 1px solid #34415b; }
.flow-index { color: #8da6d5; font-size: 11px; font-family: ui-monospace,monospace; }
.flow-row h3 { color: #fff; font-size: 18px; margin-bottom: 4px; letter-spacing: -.02em; }
.flow-row p { color: #a6b4cc; font-size: 12px; }
.flow-row > .icon { margin-left: auto; color: #8a9ebb; width: 18px; height: 18px; }
.steps { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,1fr); gap: 49px; }
.steps li { border-top: 1px solid var(--line); padding-top: 24px; }
.step-number { display: block; color: var(--blue); font-size: 12px; font-family: ui-monospace,monospace; margin-bottom: 20px; }
.steps h3 { font-size: 23px; margin-bottom: 15px; }
.steps p { font-size: 14px; line-height: 1.85; }
.about-strip { padding-block: 38px; background: var(--surface); border-block: 1px solid #edf0f6; }
.about-strip-inner { display: grid; grid-template-columns: 102px minmax(0,1fr) 236px; align-items: center; gap: 31px; }
.tom-monogram { width: 90px; height: 102px; display: flex; align-items: center; justify-content: center; font-size: 58px; font-weight: 700; letter-spacing: -.08em; color: var(--blue); border: 1px solid #d6e1fa; border-radius: 8px; background: #eff3fd; line-height: 1; padding-bottom: 6px; }
.tom-monogram span { color: var(--pink); }
.about-strip .section-label { font-size: 10px; margin-bottom: 7px; }
.about-strip h2 { font-size: 29px; margin-bottom: 10px; }
.about-strip p:not(.section-label) { font-size: 13px; line-height: 1.85; max-width: 610px; }
.about-strip .text-link { justify-self: end; font-size: 12px; }
.local-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 115px; }
.local-grid h2 { margin-bottom: 25px; }
.local-grid p:not(.section-label) { font-size: 15px; line-height: 1.8; max-width: 455px; }
.local-grid .text-link { margin-top: 23px; font-size: 13px; }
.location-list { padding-top: 10px; }
.location-list a { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-block: 16px; border-bottom: 1px solid var(--line); font-size: 20px; font-weight: 550; letter-spacing: -.025em; text-decoration: none; }
.location-list a:first-child { border-top: 1px solid var(--line); }
.location-list a:hover { color: var(--blue); }
.location-list .icon { width: 20px; height: 20px; color: var(--blue); }
.location-list p { margin-top: 17px; font-size: 12px !important; }
.closing-cta { padding-block: 64px; background: #f0f4fe; border-top: 1px solid #e3eafb; }
.closing-inner { display: flex; align-items: center; justify-content: space-between; gap: 50px; }
.closing-cta .section-label { font-size: 10px; margin-bottom: 14px; }
.closing-cta h2 { font-size: clamp(31px,3vw,41px); }
.closing-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; }
.closing-actions .button { min-width: 252px; justify-content: space-between; }
.closing-actions .text-link { color: #32435e; font-size: 12px; }
.closing-actions .text-link .icon { color: #19734e; }
.closing-actions p { font-size: 10px; margin-top: -7px; }
/* Shared footer. Company identity never changes from page to page. */
.site-footer { background: white; padding: 63px 0 20px; }
.footer-grid { display: grid; grid-template-columns: 1.1fr .65fr 1.2fr; gap: 70px; padding-bottom: 43px; }
.footer-brand { display: flex; align-items: flex-start; flex-direction: column; }
.footer-brand p { margin: 18px 0; color: #657187; font-size: 13px; line-height: 1.8; }
.footer-brand > a:not(:first-child) { text-decoration: none; color: var(--muted); font-size: 13px; margin-top: 3px; }
.footer-brand > a.footer-email { color: var(--ink); font-weight: 600; }
.footer-links h2, .footer-local h2 { font-size: 12px; letter-spacing: 0; margin-top: 8px; margin-bottom: 19px; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; }
.footer-links a { font-size: 12px; color: var(--muted); text-decoration: none; margin-bottom: 9px; }
.footer-links a:hover, .footer-brand > a:hover { color: var(--blue); }
.footer-local p { font-size: 12px; line-height: 1.85; margin-bottom: 13px; }
.serallo-link { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 5px; font-size: 11px; text-decoration: none; color: var(--muted); margin-top: 6px; }
.serallo-link strong { color: var(--blue); font-weight: 600; }
.serallo-link .icon { width: 15px; height: 15px; color: var(--pink); }
.company-details { padding-block: 22px; border-block: 1px solid var(--line); }
.company-details p { font-size: 10px; line-height: 1.8; color: #657187; }
.company-details p+p { margin-top: 5px; }
.company-details strong { font-weight: 600; color: #4e5a70; }
.company-details p span { color: #647187; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 19px; color: #69758a; font-size: 10px; }
.footer-bottom nav { display: flex; gap: 22px; align-items: center; }
.footer-bottom a { text-decoration: none; }
.footer-bottom a:hover { color: var(--blue); }
.footer-bottom p { font-size: 10px; }
.back-top { display: flex; gap: 6px; align-items: center; }
.back-top .icon { transform: rotate(-90deg); width: 14px; height: 14px; }
.link-button { padding: 0; background: none; border: 0; color: inherit; font-size: inherit; cursor: pointer; }
.link-button:hover { color: var(--blue); }
/* Inner-page content system, not one-off page layouts. */
.breadcrumbs { margin-top: 25px; font-size: 11px; color: #657187; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 9px; list-style: none; margin: 0; padding: 0; }
.breadcrumbs li { display: flex; gap: 9px; }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { color: var(--blue); }
.breadcrumbs li > span[aria-hidden] { color: #a1abbd; }
.page-hero { padding-block: 62px 72px; background: linear-gradient(120deg,#fff 60%,#fafcff); border-bottom: 1px solid var(--line); }
.page-hero h1 { max-width: 1020px; font-size: clamp(40px,4.7vw,65px); }
.page-hero .section-label { margin-bottom: 19px; }
.page-hero .container > p:not(.section-label) { max-width: 720px; font-size: 18px; line-height: 1.8; margin-top: 25px; }
.content-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 110px; padding-block: 68px 88px; }
.page-sidebar { position: sticky; top: 119px; align-self: start; }
.page-sidebar > p { font-size: 10px; letter-spacing: .11em; text-transform: uppercase; font-weight: 650; color: #627087; margin-bottom: 18px; }
.page-sidebar nav { display: flex; flex-direction: column; border-left: 1px solid var(--line); }
.page-sidebar nav a { display: block; padding: 9px 0 9px 18px; color: var(--muted); font-size: 13px; text-decoration: none; line-height: 1.6; }
.page-sidebar nav a:hover { color: var(--blue); border-left: 2px solid var(--blue); padding-left: 16px; }
.page-sidebar .button { margin-top: 24px; }
.content-body { max-width: 770px; }
.content-section { margin-bottom: 51px; scroll-margin-top: 116px; }
.content-section:last-child { margin-bottom: 0; }
.content-section h2 { font-size: 29px; line-height: 1.25; margin-bottom: 21px; }
.content-section p { font-size: 16px; line-height: 1.85; margin-bottom: 17px; }
.content-list { padding-left: 21px; margin: 22px 0 0; }
.content-list li { color: var(--muted); padding: 4px 0 4px 5px; font-size: 15px; line-height: 1.7; }
.content-list li::marker { color: var(--blue); }
.faq { border-block-end: 1px solid var(--line); }
.faq summary { display: flex; justify-content: space-between; align-items: center; padding-block: 18px; font-weight: 600; cursor: pointer; list-style: none; }
.faq p { padding-bottom: 20px; }
.area-rows { padding-block: 24px 75px; }
.area-row { display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; padding-block: 45px; border-bottom: 1px solid var(--line); scroll-margin-top: 95px; }
.area-row h2 { font-size: 31px; }
.area-row p { font-size: 16px; margin-bottom: 18px; }
.area-row .text-link { font-size: 13px; }
.child-pages { margin-bottom: 60px; }
.child-pages h2 { margin-bottom: 25px; }
.child-pages a { margin-right: 25px; }
.contact-hero { padding-block: 54px 90px; display: grid; grid-template-columns: minmax(0,1fr) 442px; gap: 110px; }
.contact-copy h1 { font-size: clamp(40px,4.5vw,64px); }
.contact-copy > p:not(.section-label) { font-size: 16px; line-height: 1.85; margin-top: 20px; max-width: 545px; }
.contact-copy > p.hero-intro { font-size: 18px; margin-top: 25px; }
.contact-copy > p.small { font-size: 12px; }
.contact-methods { margin-top: 33px; max-width: 420px; }
.contact-methods a { display: flex; align-items: center; gap: 18px; padding-block: 17px; border-bottom: 1px solid var(--line); text-decoration: none; font-size: 16px; }
.contact-methods a > .icon:first-child { color: var(--blue); }
.contact-methods a > .icon:last-child { margin-left: auto; width: 19px; height: 19px; color: #71829c; }
.contact-methods small { display: block; color: var(--muted); font-size: 10px; margin-bottom: 3px; }
.contact-methods a:hover { color: var(--blue); }
.hub-list { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; padding-block: 65px 90px; }
.hub-list article { border-top: 1px solid var(--line); padding-top: 28px; }
.hub-list h2 { font-size: 30px; margin-bottom: 18px; }
.hub-list h2 a { text-decoration: none; }
.hub-list p:not(.section-label) { margin-bottom: 20px; }
.article-byline { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; font-size: 13px; color: var(--muted); }
.article-byline span { margin-left: 18px; }
/* Search, feedback and confirmation are part of the same system. */
.search-dialog { padding: 30px; border: 1px solid var(--line); border-radius: 12px; width: min(680px,calc(100% - 36px)); box-shadow: 0 25px 100px #0d1b3650; }
.search-dialog::backdrop { background: #1420398c; }
.dialog-head { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-bottom: 22px; }
.dialog-head h2 { font-size: 25px; }
.search-form { display: flex; align-items: stretch; gap: 10px; width: 100%; }
.search-form input { min-height: 50px; font-size: 16px; padding-inline: 15px; }
.search-dialog > p { margin-top: 16px; font-size: 12px; }
.search-page { padding-block: 65px 95px; min-height: 570px; max-width: 950px; }
.search-page h1 { font-size: 53px; margin-bottom: 35px; }
.search-summary { font-size: 14px; margin-top: 27px; margin-bottom: 20px; }
.search-result { padding-block: 26px; border-bottom: 1px solid var(--line); }
.search-result h2 { font-size: 27px; margin-bottom: 13px; }
.search-result h2 a { text-decoration: none; }
.search-result h2 a:hover { color: var(--blue); }
.result-path { font-size: 11px; color: var(--blue); margin-bottom: 10px; }
.status-page { padding-block: 110px; min-height: 600px; }
.status-page h1 { margin-bottom: 25px; }
.status-page > p:not(.section-label) { max-width: 670px; margin-bottom: 18px; font-size: 17px; }
.status-page > p.small { font-size: 12px; }
.status-icon { display: flex; justify-content: center; align-items: center; width: 50px; height: 50px; background: var(--pale-blue); border-radius: 50%; color: var(--blue); margin-bottom: 25px; }
.status-actions { display: flex; flex-wrap: wrap; gap: 25px; align-items: center; margin-top: 30px; }
.consent-banner { position: fixed; z-index: 70; bottom: 22px; left: 50%; transform: translateX(-50%); width: min(1020px,calc(100% - 36px)); display: flex; align-items: center; justify-content: space-between; gap: 28px; background: white; border: 1px solid var(--line); border-radius: 12px; padding: 24px; box-shadow: 0 8px 50px #10234033; }
.consent-banner h2 { font-size: 17px; margin-bottom: 8px; letter-spacing: -.02em; }
.consent-banner p { font-size: 12px; }
.consent-actions { display: flex; gap: 10px; flex-shrink: 0; }
.consent-actions .button { font-size: 12px; min-height: 44px; }
/* Responsive design: never squeeze desktop navigation onto a phone. */
@media (min-width: 1580px) { .hero-grid { padding-block: 85px 67px; } }
@media (max-width: 1230px) {
  .container { width: calc(100% - 80px); }
  .site-nav { gap: 18px; } .header-inner { gap: 18px; }
  .brand { flex-basis: 162px; } .brand img { width: 162px; }
  .hero-grid { grid-template-columns: minmax(0,1fr) 410px; gap: 40px; }
  .hero-copy h1 { font-size: 5.2vw; }
  .hero-intro { font-size: 18px; }
  .business-grid, .local-grid { gap: 65px; }
  .contact-hero { gap: 65px; grid-template-columns: minmax(0,1fr) 410px; }
  .content-layout { gap: 70px; grid-template-columns: 220px minmax(0,1fr); }
}
@media (max-width: 1040px) {
  .container { width: calc(100% - 64px); }
  .header-inner { min-height: 78px; flex-wrap: wrap; }
  .header-actions { margin-left: auto; }
  .js .menu-toggle { display: inline-flex; }
  .site-nav { width: 100%; order: 3; flex-wrap: wrap; padding-bottom: 15px; margin-left: 0; }
  .js .site-nav { display: none; }
  .js .site-nav.is-open { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding-top: 12px; padding-bottom: 24px; border-top: 1px solid var(--line); }
  .site-nav > a, .nav-dropdown > summary { font-size: 15px; }
  .nav-dropdown > summary { display: flex; justify-content: space-between; }
  .dropdown-panel { max-height: min(70vh, 560px); overflow-y: auto; position: static; width: 100%; box-shadow: none; margin-block: 0 10px; background: var(--surface); }
  .site-nav .mobile-nav-cta { display: inline-flex; color: white; margin-top: 12px; padding-block: 12px; }
  .hero-grid { grid-template-columns: minmax(0,1fr) 385px; gap: 32px; padding-top: 48px; }
  .hero-copy h1 { font-size: 4.75vw; }
  .hero-intro { font-size: 17px; }
  .hero-detail { font-size: 14px; }
  .hero-whatsapp { font-size: 11px; }
  .hero-whatsapp .icon:last-child { display: none; }
  .discovery-panel { padding-inline: 23px; }
  .section-heading { gap: 55px; }
  .service-grid { gap: 25px; }
  .service-card h3 { font-size: 21px; }
  .about-strip-inner { grid-template-columns: 88px 1fr; gap: 24px; }
  .about-strip-inner > .text-link { grid-column: 2; justify-self: start; margin-top: -8px; }
  .tom-monogram { width: 78px; height: 90px; }
  .footer-grid { gap: 35px; }
  .contact-hero { grid-template-columns: minmax(0,1fr) 385px; gap: 42px; }
  .contact-copy h1 { font-size: 43px; }
  .contact-copy > p.hero-intro { font-size: 16px; }
  .consent-banner { flex-direction: column; align-items: flex-start; gap: 16px; }
}
@media (max-width: 820px) {
  .hero-grid { grid-template-columns: 1fr; gap: 34px; padding-top: 45px; }
  .hero-copy { max-width: 680px; }
  .hero-copy h1 { font-size: clamp(42px,7vw,59px); }
  .hero-intro { font-size: 18px; max-width: 640px; }
  .hero-detail { font-size: 15px; max-width: 640px; margin-top: 12px; }
  .hero-local { margin-top: 20px; }
  .hero-whatsapp { margin-top: 22px; font-size: 12px; }
  .mobile-discovery { display: flex; width: fit-content; margin-top: 22px; }
  .discovery-panel { width: 100%; max-width: 620px; padding: 28px; }
  .form-heading > p:last-child { max-width: 500px; }
  .form-caption { font-size: 11px; }
  .field label { font-size: 12px; }
  .field input, .field textarea { font-size: 16px; }
  .form-submit { font-size: 13px; }
  .form-privacy { font-size: 11px; }
  .expertise-strip { gap: 16px; }
  .expertise-strip .strip-value { font-size: 15px; }
  .expertise-strip span { font-size: 11px; }
  .section { padding-block: 74px; }
  .section-heading { grid-template-columns: 1fr; gap: 23px; margin-bottom: 37px; }
  .section-heading > p { max-width: 630px; }
  .section-heading h2 { font-size: 40px; }
  .service-grid { grid-template-columns: 1fr; gap: 36px; }
  .service-card { display: grid; grid-template-columns: 60px 1fr; column-gap: 20px; padding-top: 24px; }
  .service-top { grid-column: 1; grid-row: 1/5; display: flex; flex-direction: column; justify-content: flex-start; gap: 20px; margin: 0; }
  .service-card h3 { max-width: none; font-size: 24px; margin-bottom: 12px; }
  .service-card p, .service-card .service-link { grid-column: 2; }
  .service-card .service-link { padding-top: 17px; }
  .business-grid { grid-template-columns: 1fr; gap: 35px; }
  .whole-business { padding-block: 66px; }
  .whole-business p { max-width: 650px; }
  .business-flow { max-width: 650px; }
  .steps { gap: 26px; }
  .steps h3 { font-size: 21px; }
  .local-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .local-grid h2 { font-size: 35px; }
  .location-list a { font-size: 18px; }
  .closing-inner { align-items: flex-start; gap: 28px; }
  .closing-cta h2 { font-size: 30px; }
  .closing-actions .button { min-width: 235px; }
  .footer-grid { grid-template-columns: 1fr .7fr; gap: 35px; }
  .footer-local { grid-column: 1/-1; }
  .footer-local p { display: inline-block; vertical-align: top; margin-right: 26px; }
  .serallo-link { display: flex; width: fit-content; }
  .page-hero { padding-block: 45px 50px; }
  .page-hero h1 { font-size: 48px; }
  .page-hero .container > p:not(.section-label) { font-size: 17px; }
  .content-layout { grid-template-columns: 1fr; gap: 38px; padding-block: 35px 60px; }
  .page-sidebar { position: static; }
  .page-sidebar nav { display: flex; flex-wrap: wrap; flex-direction: row; gap: 4px 22px; border: 0; }
  .page-sidebar nav a { padding: 5px 0; border: 0; }
  .page-sidebar nav a:hover { padding-left: 0; border: 0; }
  .page-sidebar .button { display: none; }
  .area-row { gap: 35px; grid-template-columns: .85fr 1fr; }
  .area-row h2 { font-size: 27px; }
  .contact-hero { grid-template-columns: 1fr; gap: 38px; }
  .contact-copy h1 { font-size: 52px; }
  .contact-methods { max-width: none; }
  .contact-methods a { max-width: 600px; }
}
@media (max-width: 540px) {
  html { scroll-padding-top: 90px; }
  .container { width: calc(100% - 40px); }
  .header-inner { min-height: 72px; gap: 15px; }
  .brand { flex-basis: 152px; } .brand img { width: 152px; }
  .header-cta { display: none; }
  .header-actions { gap: 3px; }
  .icon-button { width: 40px; height: 44px; }
  .hero-grid { padding-top: 35px; padding-bottom: 33px; gap: 31px; }
  .hero-copy h1 { font-size: clamp(34px,8.35vw,45px); line-height: 1.1; letter-spacing: -.05em; }
  .hero-intro { font-size: 16px; line-height: 1.75; margin-top: 20px; }
  .hero-detail { font-size: 14px; line-height: 1.75; }
  .hero-local { margin-top: 17px; gap: 10px; }
  .hero-local p { font-size: 12px; }
  .hero-local .icon { width: 20px; height: 20px; }
  .mobile-discovery { width: 100%; min-height: 47px; font-size: 12px; justify-content: space-between; padding-inline: 15px; margin-top: 20px; }
  .hero-whatsapp { margin-top: 15px; font-size: 11px; gap: 8px; }
  .hero-whatsapp .icon:first-child { width: 20px; height: 20px; }
  .discovery-panel { padding: 23px 19px 20px; border-radius: 10px; scroll-margin-top: 90px; }
  .form-heading h2 { font-size: 28px; }
  .form-caption { font-size: 10px; }
  .form-heading > p:last-child { font-size: 13px; }
  .enquiry-form { gap: 16px; margin-top: 21px; }
  .field-row { grid-template-columns: 1fr; gap: 16px; }
  .field label { font-size: 12px; }
  .optional { font-size: 10px; }
  .field input, .field textarea { font-size: 16px; }
  .extra-fields summary { font-size: 11px; padding-block: 5px; }
  .form-submit { font-size: 12px; padding-inline: 12px; gap: 10px; }
  .form-submit .icon { width: 16px; height: 16px; }
  .form-privacy { font-size: 10px; }
  .expertise-strip { grid-template-columns: 1fr; gap: 13px; padding-block: 22px; }
  .expertise-strip > div { border: 0; padding: 0; flex-direction: row; align-items: baseline; gap: 12px; }
  .expertise-strip .strip-value { min-width: 127px; font-size: 13px; }
  .expertise-strip span { font-size: 10px; }
  .section { padding-block: 57px; }
  .section-label { font-size: 10px; margin-bottom: 16px; }
  .section-heading { gap: 20px; margin-bottom: 32px; }
  .section-heading h2, .local-grid h2 { font-size: 33px; }
  .section-heading > p { font-size: 14px; }
  .service-grid { gap: 32px; }
  .service-card { grid-template-columns: 34px 1fr; column-gap: 17px; }
  .service-card h3 { font-size: 21px; }
  .service-card .service-short { font-size: 13px; }
  .service-card p { font-size: 13px; }
  .service-top .icon { width: 26px; height: 26px; }
  .whole-business { padding-block: 56px; }
  .whole-business h2 { font-size: 33px; }
  .whole-business p { font-size: 15px; }
  .whole-business .business-secondary { font-size: 13px; }
  .business-grid { gap: 32px; }
  .flow-row { gap: 15px; padding-block: 19px; }
  .flow-row h3 { font-size: 16px; }
  .flow-row p { font-size: 11px; }
  .flow-row > .icon { width: 15px; height: 15px; }
  .steps { grid-template-columns: 1fr; gap: 27px; }
  .steps li { display: grid; grid-template-columns: 32px 1fr; column-gap: 18px; padding-top: 22px; }
  .step-number { grid-row: 1/3; margin: 2px 0 0; }
  .steps h3 { font-size: 22px; margin-bottom: 11px; }
  .steps p { grid-column: 2; font-size: 13px; }
  .about-strip { padding-block: 29px; }
  .about-strip-inner { grid-template-columns: 58px 1fr; gap: 18px; }
  .tom-monogram { width: 57px; height: 70px; font-size: 43px; align-self: start; }
  .about-strip .section-label { font-size: 8px; }
  .about-strip h2 { font-size: 25px; }
  .about-strip p:not(.section-label) { font-size: 12px; }
  .about-strip-inner > .text-link { font-size: 11px; margin-top: -2px; }
  .local-grid { grid-template-columns: 1fr; gap: 30px; }
  .local-grid p:not(.section-label) { font-size: 14px; }
  .location-list { padding: 0; }
  .location-list a { font-size: 21px; padding-block: 15px; }
  .closing-cta { padding-block: 45px; }
  .closing-inner { flex-direction: column; gap: 27px; }
  .closing-cta h2 { font-size: 30px; }
  .closing-actions { width: 100%; }
  .closing-actions .button { width: 100%; }
  .site-footer { padding-top: 42px; }
  .footer-grid { gap: 30px 20px; padding-bottom: 29px; grid-template-columns: 1.2fr .7fr; }
  .footer-brand img { width: 156px; }
  .footer-brand p { font-size: 12px; }
  .footer-brand > a:not(:first-child) { font-size: 11px; }
  .footer-links h2, .footer-local h2 { font-size: 11px; }
  .footer-links a { font-size: 11px; }
  .footer-local p { display: block; font-size: 11px; }
  .company-details p { font-size: 10px; }
  .footer-bottom { display: grid; grid-template-columns: 1fr auto; row-gap: 17px; font-size: 10px; }
  .footer-bottom nav { gap: 17px; grid-row: 2; grid-column: 1/-1; }
  .page-hero { padding-block: 34px 44px; }
  .breadcrumbs { font-size: 10px; margin-top: 20px; }
  .page-hero h1 { font-size: clamp(33px,8.5vw,43px); }
  .page-hero .container > p:not(.section-label) { font-size: 15px; line-height: 1.85; margin-top: 20px; }
  .content-layout { padding-block: 30px 50px; gap: 33px; }
  .page-sidebar nav { display: block; }
  .page-sidebar > p { margin-bottom: 9px; }
  .page-sidebar nav a { font-size: 12px; padding-block: 4px; }
  .content-section { margin-bottom: 36px; }
  .content-section h2 { font-size: 25px; margin-bottom: 18px; }
  .content-section p { font-size: 15px; }
  .content-list li { font-size: 14px; }
  .area-rows { padding-bottom: 47px; }
  .area-row { grid-template-columns: 1fr; gap: 17px; padding-block: 30px; }
  .area-row h2 { font-size: 28px; }
  .area-row p { font-size: 14px; }
  .contact-hero { padding-block: 35px 58px; gap: 30px; }
  .contact-copy h1 { font-size: 43px; }
  .contact-copy > p.hero-intro { font-size: 16px; }
  .contact-copy > p:not(.section-label) { font-size: 14px; }
  .contact-copy > p.small { font-size: 11px; }
  .contact-methods { margin-top: 23px; }
  .contact-methods a { font-size: 15px; }
  .search-dialog { padding: 21px; }
  .dialog-head h2 { font-size: 23px; }
  .dialog-head { margin-bottom: 18px; }
  .search-form { flex-wrap: wrap; }
  .search-form > .button { width: 100%; }
  .search-page { padding-block: 40px 60px; min-height: 440px; }
  .search-page h1 { font-size: 37px; margin-bottom: 26px; }
  .search-result h2 { font-size: 24px; }
  .search-result p { font-size: 14px; }
  .hub-list { grid-template-columns: 1fr; padding-block: 40px 60px; gap: 35px; }
  .article-byline { font-size: 11px; }
  .article-byline span { margin-left: 7px; }
  .status-page { padding-block: 67px; min-height: 450px; }
  .status-page h1 { font-size: 40px; }
  .status-page > p:not(.section-label) { font-size: 15px; }
  .status-actions { gap: 24px; }
  .consent-banner { bottom: 12px; padding: 20px; }
  .consent-actions { width: 100%; flex-wrap: wrap; }
  .consent-actions .button { flex: 1 1 130px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
@media (prefers-contrast: more) {
  :root { --muted: #35415a; --line: #8391a9; }
  input:not([type="hidden"]), textarea { border-color: #718099; }
}
@media print {
  .site-header, .site-footer, .search-dialog, .discovery-panel, .closing-cta, .page-sidebar, .consent-banner { display: none !important; }
  .container { width: 100%; } .content-layout, .hero-grid { display: block; }
  body { color: #000; } h1,h2,h3 { break-after: avoid; } .section { padding-block: 25px; }
}

/* Content release 2.0: extended editorial and conversion components. */
button,input,textarea,select { font:inherit; }
select { display:block;width:100%;min-height:45px;border:1px solid #8692a8;border-radius:5px;background:#fcfdff;padding:10px;color:var(--ink);font-size:14px; }
select:focus-visible { outline:3px solid var(--blue);outline-offset:3px; }
input,textarea,select { scroll-margin-top:120px; }
main:focus { outline:none; }
.header-inner { gap:24px; }
.brand { flex-basis:164px; }.brand img { width:164px; }
.site-nav { gap:22px; }
.header-phone { display:flex;align-items:center;gap:9px;text-decoration:none;font-size:12px;white-space:nowrap;min-height:44px; }
.header-phone .icon { width:18px;height:18px; }
.header-phone:hover { color:var(--blue); }
.mobile-chat { display:none; }
.site-nav .nav-dropdown { position:static; }
.header-inner { position:relative; }
.mega-menu { top:calc(100% - 1px);left:0;width:100%;padding:20px 24px 14px;max-height:calc(100dvh - 110px); }
.mega-columns { display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px;padding-block:12px; }
.mega-group > p { font-weight:650;font-size:13px;line-height:1.6;color:var(--ink);padding:8px 12px; }
.mega-group a { min-height:44px; }
.mega-bottom { display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:8px; }
.mega-bottom > span { font-size:12px;color:var(--muted); }
.mega-bottom a { color:var(--blue);font-weight:600; }
.hero-actions { display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:30px; }
.consultancy-hero { background:#fff; }
.consultancy-grid { display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:center;gap:75px;padding-block:70px 76px; }
.hero-eyebrow { font-size:11px;line-height:1.8;color:var(--muted);font-weight:550;margin-bottom:24px; }
.consultancy-copy h1 { font-size:clamp(42px,4.35vw,63px);line-height:1.08;letter-spacing:-.048em; }
.consultancy-copy h1 span { color:var(--blue); }
.hero-strapline { margin-top:24px;font-weight:650;color:var(--ink);font-size:18px;line-height:1.65; }
.consultancy-copy .hero-intro { margin-top:15px;font-size:16px;line-height:1.85;max-width:650px; }
.hero-rate { margin-top:20px;font-size:12px;line-height:1.8;color:var(--muted); }
.consultant-profile { min-width:0; }
.profile-surface { position:relative;padding:42px 36px;background:var(--navy);color:#fff;min-height:430px;border-radius:3px 34px 3px 3px;overflow:hidden; }
.profile-mark { display:flex;align-items:center;gap:0;height:38px;margin-bottom:37px; }
.profile-mark span { display:block;width:38px;height:38px;background:var(--blue);clip-path:polygon(0 0,100% 50%,0 100%); }
.profile-mark span+span { background:var(--pink);margin-left:-12px; }
.profile-principle { color:#dee6f8;font-size:23px;line-height:1.45;letter-spacing:-.028em; }
.profile-principle strong { color:#fff;font-weight:650; }
.profile-qualifier { color:#c6d2e8;font-size:14px;margin-top:18px; }
.profile-rule { height:1px;background:#ffffff24;margin-block:32px 23px; }
.profile-name { font-size:22px;color:#fff;font-weight:650;letter-spacing:-.02em; }
.profile-role { color:#c6d2e8;font-size:13px;line-height:1.75;margin-top:7px; }
.profile-surface a { display:inline-flex;align-items:center;gap:15px;color:#fff;font-size:12px;text-decoration:none;min-height:44px;margin-top:17px; }
.profile-surface a:hover { text-decoration:underline; }
.profile-surface :focus-visible,.meeting-band .meeting-copy :focus-visible { outline-color:#a0bcff; }
.hero-portrait { width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:3px 32px 3px 3px; }
.career-proof { border-block:1px solid var(--line);padding-block:34px 26px; }
.proof-heading { display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:29px; }
.proof-heading h2 { font-size:20px;letter-spacing:-.025em;line-height:1.4; }
.proof-heading>p { font-size:11px; }
.proof-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:40px; }
.proof-item { text-decoration:none;display:block;padding-left:28px;border-left:1px solid var(--line); }
.proof-item:first-child { border-left:0;padding-left:0; }
.proof-value { display:block;font-size:43px;font-weight:650;line-height:1.25;letter-spacing:-.035em;color:var(--blue); }
.proof-item strong { display:block;font-size:14px;margin-top:8px; }.proof-item p { font-size:13px;line-height:1.7;margin-top:8px;max-width:285px; }
.proof-link { display:flex;align-items:center;gap:12px;color:var(--blue);font-size:12px;margin-top:12px;min-height:32px; }.proof-link .icon { width:17px; }
.proof-item:hover .proof-link { text-decoration:underline; }
.proof-context { font-size:11px;margin-top:25px; }
.journey-steps { list-style:none;display:grid;grid-template-columns:repeat(5,1fr);padding:0;margin:0;gap:22px; }
.journey-steps li { position:relative;border-top:2px solid var(--line);padding:19px 22px 4px 0; }
.journey-steps span { display:block;color:var(--blue);font-size:11px;margin-bottom:15px; }
.journey-steps strong { font-size:16px;line-height:1.5;display:block;max-width:130px; }
.journey-steps .icon { position:absolute;right:0;top:22px;color:#72819b;width:17px; }
.meeting-band { background:var(--navy);padding-block:80px; }
.meeting-grid { display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:84px;align-items:start; }
.meeting-copy { padding-top:16px; }.meeting-copy .section-label { color:#b5c9ff; }.meeting-copy h2 { color:#fff;font-size:52px; }
.meeting-copy>p:not(.section-label) { color:#d1dbed;line-height:1.85;font-size:16px;margin-top:20px; }
.meeting-copy>p.meeting-lead { color:#fff;font-size:24px;line-height:1.5;margin-top:28px; }
.meeting-boundary { border-left:3px solid var(--pink);padding-left:22px;margin-top:31px; }
.meeting-boundary h3 { color:#fff;font-size:17px;line-height:1.5; }.meeting-boundary p { color:#c0cce0;font-size:14px;line-height:1.85;margin-top:10px; }
.meeting-contact { display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px; }
.meeting-contact a { color:#fff;font-size:17px;text-decoration:none;min-height:28px; }.meeting-contact a:hover { text-decoration:underline; }.meeting-contact p { color:#c0cce0;font-size:13px; }.meeting-contact .whatsapp-link { display:flex;gap:10px;align-items:center;font-size:13px;margin-top:8px; }
.meeting-grid .discovery-panel { width:100%;max-width:none;box-shadow:none; }
.discovery-panel .field label { font-size:12px; }.discovery-panel .field input,.discovery-panel .field textarea,.discovery-panel .field select { font-size:14px; }
.discovery-panel .optional { font-size:10px; }.discovery-panel .form-heading h2 { font-size:27px; }.discovery-panel .form-heading>p:last-child { max-width:none; }.discovery-panel .form-privacy { font-size:11px; }
.form-submit { font-size:14px; }
.signage-fields summary { font-size:12px;min-height:35px; }
.problem-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:25px; }
.problem-card { display:block;text-decoration:none;border:1px solid var(--line);padding:28px 28px 20px;border-radius:7px;transition:border-color .18s,background .18s; }
.problem-card:hover { background:#f9fbff;border-color:#b5c7f9; }.problem-number { color:var(--blue);font-size:11px;display:block;margin-bottom:23px; }.problem-card h3 { font-size:22px;line-height:1.27;max-width:290px; }.problem-card p { margin-top:15px;line-height:1.8;font-size:14px; }.problem-card>.icon { margin-top:20px;color:var(--blue);width:19px; }
.review-section { background:var(--surface); }.review-section .section-heading { grid-template-columns:1.3fr 1fr; }.review-section .table-region { background:#fff; }
.table-region { overflow-x:auto;border:1px solid var(--line);border-radius:7px;margin-block:27px 16px;max-width:100%; }
table { border-collapse:collapse;text-align:left;width:100%;font-size:13px;line-height:1.7; }
caption { text-align:left;padding:15px 18px;background:#f1f5ff;color:var(--ink);font-size:12px;font-weight:650;border-bottom:1px solid var(--line); }
th,td { padding:15px 18px;vertical-align:top;min-width:135px; }
thead th { font-size:12px;font-weight:650;color:var(--ink);background:#f9fbff; }
tbody th { font-weight:600;color:var(--ink); }tbody td { color:var(--muted); }tbody tr { border-top:1px solid var(--line); }
.editorial-note { border-left:3px solid var(--pink);padding:9px 0 9px 18px;font-size:13px!important;line-height:1.8!important;margin-top:18px; }
.review-bottom { display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:32px; }.review-bottom p { font-size:13px;max-width:600px; }.review-bottom .button { flex-shrink:0; }
.operations-grid { display:grid;grid-template-columns:1fr 1fr;gap:95px; }.operations-intro { font-size:22px;line-height:1.6;color:var(--blue);font-weight:550;margin-top:34px; }.operations-copy p { margin-bottom:22px;font-size:16px;line-height:1.85; }.operations-copy .button { margin-top:9px; }.operations-copy>.text-link { display:flex;margin-top:24px; }
.capability-section { background:#f8faff;border-block:1px solid var(--line); }.capability-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:34px; }.capability-grid>a { display:block;text-decoration:none; }.capability-grid h3 { font-size:21px;line-height:1.35; }.capability-grid p { font-size:14px;line-height:1.8;margin-top:17px; }.capability-grid .icon { color:var(--blue);margin-top:20px; }.capability-grid a:hover h3 { color:var(--blue); }
.working-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:40px; }.working-grid article { border-top:1px solid var(--line);padding-top:22px; }.working-grid span { font-size:11px;color:var(--blue); }.working-grid h3 { font-size:24px;margin-top:24px; }.working-grid p { font-size:15px;margin-top:17px;margin-bottom:23px; }
.rate-strip { display:flex;gap:26px;justify-content:space-between;align-items:center;padding:24px 0;border-block:1px solid var(--line);margin-top:45px; }.rate-strip p { font-size:14px; }.rate-strip strong { color:var(--ink); }.emergency-note { margin-top:17px; }
.about-home { background:var(--surface); }.about-home-grid { display:grid;grid-template-columns:1fr 1.3fr;gap:100px; }.about-home-grid p:not(.section-label) { margin-bottom:22px;line-height:1.85; }.about-home-grid p.about-quote { font-size:25px;line-height:1.5;color:var(--ink);letter-spacing:-.015em; }.home-about-photo { margin-top:30px;width:260px;aspect-ratio:4/5;object-fit:cover;border-radius:8px; }
.question-grid { display:grid;grid-template-columns:1fr 1.4fr;gap:100px; }.question-grid>div>p:not(.section-label) { margin-top:25px; }.faq summary { gap:20px;line-height:1.6;min-height:58px; }.faq summary .icon { width:18px;height:18px; }.faq[open] summary .icon { transform:rotate(180deg); }.faq>div p { margin:0;line-height:1.85;font-size:15px;padding-bottom:22px; }
.final-home { background:var(--navy);padding-block:76px;color:white; }.final-home h2 { max-width:880px;color:#fff;font-size:42px;line-height:1.2; }.final-home p { font-size:23px;color:#cedaee;margin-top:20px; }.final-home .hero-actions>a:not(.button) { color:#fff;font-size:15px; }.final-home :focus-visible { outline-color:#acc3ff; }
.content-subsection { margin-top:28px; }.content-subsection h3 { font-size:21px;line-height:1.4;margin-bottom:12px; }.content-body a:not(.button) { color:var(--blue); }.content-body .content-section { margin-bottom:61px; }.content-body p { overflow-wrap:break-word; }
.editorial-links { display:flex;flex-wrap:wrap;gap:15px 28px;margin-top:24px; }.editorial-links .text-link { min-height:35px; }.content-list { margin-bottom:22px; }
.content-layout { gap:85px;grid-template-columns:240px minmax(0,1fr); }.page-sidebar { max-height:calc(100dvh - 145px);overflow-y:auto;padding:4px 5px 12px; }.page-sidebar nav a { padding-block:8px; }.page-sidebar p.sidebar-price { margin-top:16px;text-transform:none;letter-spacing:0;font-size:12px;font-weight:400; }
.content-body { min-width:0; }.page-hero h1 { max-width:1060px; }.page-hero .hero-actions { margin-top:27px; }.page-hero .container>p:not(.section-label) { max-width:835px; }.page-hero { background:#fff; }
.hub-intro { max-width:900px;padding-block:58px 0; }.hub-intro .content-section h2 { font-size:27px; }
.directory-sections { padding-block:50px 85px; }.directory-group+.directory-group { margin-top:70px; }.directory-title { font-size:34px;margin-bottom:38px; }.directory-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 35px; }
.directory-card { padding-top:26px;border-top:2px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;min-width:0; }.directory-card h2,.directory-card h3 { font-size:23px;line-height:1.35;letter-spacing:-.02em; }.directory-card h2 a,.directory-card h3 a { text-decoration:none; }.directory-card h2 a:hover,.directory-card h3 a:hover { color:var(--blue); }.directory-card>p:not(.result-metric):not(.card-topic) { font-size:14px;line-height:1.8;margin-block:17px 21px; }.directory-card>.text-link { margin-top:auto;font-size:13px; }.card-topic { font-size:11px;color:var(--blue);margin-bottom:15px; }.result-metric { color:var(--blue);font-size:46px;letter-spacing:-.04em;font-weight:600;margin-bottom:15px; }
.related-section { background:var(--surface);padding-block:65px; }.related-section .section-heading h2 { font-size:32px; }.related-section .section-heading { margin-bottom:32px; }.related-section .section-heading p { font-size:14px; }
.closing-copy { max-width:610px;margin-top:22px;font-size:15px;line-height:1.85; }.closing-actions>.text-link { margin-top:12px; }.closing-inner { gap:70px; }.closing-actions { min-width:0;max-width:440px; }.closing-actions .button { min-width:0;white-space:normal;text-align:center; }.closing-cta h2 { font-size:35px;line-height:1.22; }
.article-hero h1,.template-article .page-hero h1 { font-size:clamp(36px,4vw,58px);max-width:1020px; }.author-note { border-top:1px solid var(--line);padding-top:27px;margin-top:45px; }.author-note p { font-size:14px;margin-bottom:13px; }.author-note strong { color:var(--ink); }.about-portrait { margin:0 0 40px;max-width:380px; }.about-portrait img { aspect-ratio:4/5;object-fit:cover;border-radius:8px; }.about-portrait figcaption { margin-top:12px;font-size:12px;color:var(--muted); }
.contact-hero { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:85px; }.contact-hero .discovery-panel { max-width:none; }.contact-notes { margin-top:45px; }.contact-notes .content-section h2 { font-size:23px;margin-bottom:15px; }.contact-notes .content-section p { font-size:14px;line-height:1.85; }.contact-hours { font-size:13px!important; }
.additional-link { display:inline-block;font-size:12px;line-height:1.8;margin-bottom:20px;color:var(--blue); }.footer-links a,.footer-local p,.company-details p { font-size:12px; }.footer-bottom { flex-wrap:wrap; }.footer-bottom nav { flex-wrap:wrap; }.footer-brand>a { overflow-wrap:anywhere; }.footer-bottom nav a { display:inline-flex;align-items:center;min-height:32px; }
@media(min-width:1041px) and (max-width:1240px){.header-phone span { display:none; }.header-phone { width:35px;justify-content:center; }.site-nav { gap:19px; }.header-inner { gap:20px; }.brand { flex-basis:150px; }.brand img { width:150px; }.consultancy-grid { gap:50px; }.profile-surface { padding:32px 26px; }.consultancy-copy h1 { font-size:52px; }}
@media(max-width:1040px){.site-nav { max-height:calc(100dvh - 90px);overflow-y:auto; }.mega-menu { max-height:none;padding:12px;width:100%; }.mega-columns { gap:12px; }.mega-bottom { align-items:flex-start;flex-direction:column;gap:0; }.mega-bottom a { padding-left:0; }.consultancy-grid { gap:40px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);padding-block:55px; }.consultancy-copy h1 { font-size:48px; }.profile-surface { padding:32px 26px; }.profile-principle { font-size:22px; }.hero-strapline { font-size:16px; }.consultancy-copy .hero-intro { font-size:15px; }.hero-actions { gap:18px; }.meeting-grid { gap:40px; }.meeting-copy h2 { font-size:44px; }.meeting-copy>p:not(.section-label) { font-size:15px; }.meeting-copy>p.meeting-lead { font-size:22px; }.capability-grid { grid-template-columns:repeat(2,1fr);gap:40px; }.content-layout { gap:45px;grid-template-columns:210px minmax(0,1fr); }.operations-grid,.about-home-grid,.question-grid { gap:50px; }.contact-hero { gap:40px; }.directory-grid { gap:32px 27px; }.directory-card h2,.directory-card h3 { font-size:21px; }}
@media(max-width:820px){.consultancy-grid { grid-template-columns:1fr;gap:32px; }.consultancy-copy h1 { font-size:clamp(43px,7vw,60px);max-width:720px; }.consultancy-copy .hero-intro { font-size:17px; }.hero-strapline { font-size:19px; }.consultant-profile { max-width:none; }.profile-surface { min-height:0;display:grid;grid-template-columns:1fr 1fr;column-gap:36px;padding:28px; }.profile-mark { grid-column:1/-1;margin-bottom:20px;height:24px; }.profile-mark span { width:24px;height:24px; }.profile-mark span+span { margin-left:-8px; }.profile-principle { grid-column:1;grid-row:2/4;font-size:23px; }.profile-qualifier { grid-column:1;grid-row:4;margin-top:14px; }.profile-rule { display:none; }.profile-name { grid-column:2;grid-row:2; }.profile-role { grid-column:2;grid-row:3; }.profile-surface a { grid-column:2;grid-row:4;margin-top:0; }.hero-portrait { max-width:480px; }.proof-heading { flex-direction:column;gap:9px; }.proof-grid { gap:25px; }.proof-item { padding-left:20px; }.proof-value { font-size:34px; }.proof-item strong { font-size:13px; }.proof-item p { font-size:12px; }.proof-link { font-size:11px; }.journey-steps { grid-template-columns:repeat(3,1fr);row-gap:24px; }.meeting-grid { grid-template-columns:1fr;gap:34px; }.meeting-band { padding-block:60px; }.meeting-copy { padding:0; }.meeting-contact { display:grid;grid-template-columns:1fr 1fr;gap:12px; }.meeting-contact p { grid-column:1/-1; }.meeting-contact .whatsapp-link { grid-column:1/-1; }.meeting-grid .discovery-panel { max-width:640px; }.problem-grid { grid-template-columns:repeat(2,1fr); }.review-section .section-heading { grid-template-columns:1fr; }.review-bottom { flex-direction:column;align-items:flex-start;gap:24px; }.operations-grid,.about-home-grid,.question-grid { grid-template-columns:1fr;gap:32px; }.operations-intro { font-size:21px;margin-top:25px; }.operations-copy p { font-size:15px; }.working-grid { gap:25px; }.working-grid h3 { font-size:22px; }.rate-strip { flex-direction:column;align-items:flex-start;gap:12px; }.content-layout { grid-template-columns:1fr;gap:35px; }.page-sidebar { max-height:none;overflow:visible;padding:0; }.page-sidebar p.sidebar-price { display:none; }.page-sidebar nav { display:grid;grid-template-columns:1fr 1fr;gap:4px 20px; }.page-sidebar nav a { font-size:12px; }.contact-hero { grid-template-columns:1fr; }.contact-copy>p.hero-intro { max-width:680px; }.contact-notes { margin-top:35px; }.directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.directory-sections { padding-block:36px 60px; }.closing-inner { gap:35px; }.closing-cta h2 { font-size:31px; }.final-home h2 { font-size:36px; }.closing-copy { font-size:14px; }.closing-actions { max-width:none; }.discovery-panel .field input,.discovery-panel .field textarea,.discovery-panel .field select { font-size:16px; }}
@media(max-width:540px){.header-inner { min-height:70px;gap:10px; }.brand { flex-basis:130px; }.brand img { width:130px; }.header-actions { gap:1px; }.header-phone { width:38px;justify-content:center; }.header-phone span { display:none; }.mobile-chat { display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 7px;font-size:13px;font-weight:650;color:var(--blue);text-decoration:none; }.mega-columns { grid-template-columns:1fr;gap:12px; }.mega-group>p { padding-top:18px; }.mega-menu { padding:9px; }.consultancy-grid { padding-block:34px 35px; }.hero-eyebrow { font-size:10px;line-height:1.75;margin-bottom:18px; }.consultancy-copy h1 { font-size:clamp(36px,9.2vw,47px);line-height:1.12; }.hero-strapline { font-size:16px;margin-top:21px; }.consultancy-copy .hero-intro { font-size:15px;line-height:1.8; }.hero-actions { align-items:flex-start;gap:18px;margin-top:24px; }.hero-actions .button { font-size:13px; }.hero-actions .text-link { min-height:44px;font-size:13px; }.hero-rate { font-size:11px;margin-top:14px; }.profile-surface { padding:25px;grid-template-columns:1fr; }.profile-mark { margin-bottom:21px; }.profile-principle { grid-column:1;grid-row:auto;font-size:25px; }.profile-qualifier { grid-column:1;grid-row:auto;margin-top:13px; }.profile-rule { display:block;grid-column:1;margin-block:23px 18px; }.profile-name,.profile-role,.profile-surface a { grid-column:1;grid-row:auto; }.profile-surface a { margin-top:10px; }.profile-role { font-size:12px; }.profile-role br { display:none; }.proof-heading { margin-bottom:24px; }.proof-heading h2 { font-size:20px; }.proof-grid { grid-template-columns:1fr;gap:22px; }.proof-item { padding:0 0 21px;border-left:0;border-bottom:1px solid var(--line); }.proof-item:last-child { border-bottom:0;padding-bottom:0; }.proof-value { font-size:37px; }.proof-item strong { font-size:15px; }.proof-item p { font-size:13px;max-width:none; }.proof-context { font-size:10px; }.proof-link { font-size:12px; }.journey-steps { grid-template-columns:1fr;gap:14px; }.journey-steps li { display:grid;grid-template-columns:28px 1fr;gap:15px;padding:15px 28px 2px 0;border-width:1px; }.journey-steps span { margin:0;align-self:center; }.journey-steps strong { max-width:none;font-size:15px; }.journey-steps .icon { top:17px; }.meeting-band { padding-block:45px; }.meeting-copy h2 { font-size:39px; }.meeting-contact { display:flex; }.meeting-copy>p.meeting-lead { font-size:23px; }.meeting-copy>p:not(.section-label) { font-size:15px; }.meeting-boundary { padding-left:17px; }.meeting-boundary p { font-size:13px; }.discovery-panel .form-heading h2 { font-size:26px; }.form-submit { font-size:12px; }.discovery-panel .field-row { gap:16px; }.signage-fields summary { font-size:11px; }.problem-grid { grid-template-columns:1fr;gap:18px; }.problem-card { padding:25px; }.problem-number { margin-bottom:17px; }.problem-card h3 { font-size:23px;max-width:none; }.problem-card p { font-size:14px; }.table-region table { font-size:12px; }th,td { padding:12px 14px;min-width:125px; }caption { font-size:11px; }.editorial-note { font-size:12px!important; }.operations-copy .button { font-size:12px; }.capability-grid { grid-template-columns:1fr;gap:30px; }.capability-grid>a { border-top:1px solid var(--line);padding-top:23px; }.capability-grid h3 { font-size:23px; }.capability-grid .icon { margin-top:14px; }.working-grid { grid-template-columns:1fr;gap:30px; }.working-grid h3 { margin-top:16px;font-size:24px; }.about-home-grid p.about-quote { font-size:24px; }.question-grid>div>p:not(.section-label) { font-size:14px; }.faq summary { font-size:15px; }.faq>div p { font-size:14px; }.final-home { padding-block:55px; }.final-home h2 { font-size:32px; }.final-home p { font-size:20px; }.final-home .hero-actions { flex-direction:column; }.final-home .hero-actions .button { width:100%; }.page-hero .hero-actions .button { font-size:12px; }.content-body .content-section { margin-bottom:44px; }.content-subsection h3 { font-size:20px; }.page-sidebar nav { grid-template-columns:1fr; }.page-sidebar nav a { font-size:12px;padding-block:6px; }.content-body .content-section h2 { font-size:27px; }.content-body .content-section p { font-size:15px; }.directory-grid { grid-template-columns:1fr;gap:33px; }.directory-card h2,.directory-card h3 { font-size:25px; }.directory-group+.directory-group { margin-top:50px; }.directory-title { font-size:30px; }.hub-intro { padding-top:36px; }.hub-intro .content-section h2 { font-size:25px; }.related-section { padding-block:48px; }.related-section .section-heading h2 { font-size:30px; }.closing-cta h2 { font-size:29px; }.closing-cta h2 br { display:none; }.closing-actions .button { font-size:13px; }.closing-copy { font-size:14px; }.article-byline { gap:8px 12px; }.article-byline span { margin-left:0; }.contact-hero { padding-top:34px; }.contact-copy h1 { font-size:44px; }.contact-notes .content-section h2 { font-size:23px; }.footer-grid { grid-template-columns:1fr;gap:30px; }.footer-links { display:grid;grid-template-columns:1fr 1fr;column-gap:20px; }.footer-links h2 { grid-column:1/-1; }.footer-links a { font-size:13px;min-height:35px; }.footer-local { grid-column:1; }.footer-local p,.company-details p { font-size:12px; }.footer-brand>a:not(:first-child) { font-size:14px; }.footer-bottom { font-size:12px; }.footer-bottom nav { gap:9px 20px; }.footer-bottom .back-top { font-size:11px; }.additional-link { font-size:13px; }.status-page h1 { overflow-wrap:break-word; }}
@media(max-width:350px){.brand { flex-basis:115px; }.brand img { width:115px; }.header-inner { gap:4px; }.consultancy-copy h1 { font-size:35px; }.header-phone { width:33px; }.mobile-chat { padding-inline:5px; }.profile-surface { padding:23px; }.form-submit { font-size:11px; }}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.closing-cta,.related-section,.page-sidebar,.hero-actions,.consent-banner,.meeting-band{display:none!important}.container{width:100%}.content-layout{display:block}.page-hero{padding:20px 0}.content-section{break-inside:auto}a{color:inherit!important}}

/* Release 2.1: a clearer opening, a shorter enquiry form and easier long-page reading. */
.conversion-hero { background:linear-gradient(115deg,#fff 54%,#f5f8ff);border-bottom:1px solid var(--line); }
.conversion-grid { display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);gap:clamp(40px,5vw,78px);align-items:center;padding-block:46px 54px; }
.conversion-copy { min-width:0; }
.conversion-copy .hero-eyebrow { color:var(--blue);font-size:12px;font-weight:650;letter-spacing:.02em;margin-bottom:23px; }
.conversion-copy h1 { font-size:clamp(52px,5.1vw,74px);line-height:1.04;letter-spacing:-.058em; }
.conversion-copy h1 span { display:block; }
.conversion-copy h1 span:last-child { color:var(--blue); }
.conversion-promise { font-size:21px;font-weight:600;line-height:1.45;letter-spacing:-.02em;color:var(--ink);max-width:500px;margin-top:27px; }
.conversion-intro { font-size:17px;line-height:1.8;margin-top:15px;max-width:535px; }
.conversion-copy .hero-actions { gap:16px 25px;margin-top:26px; }
.conversion-copy .hero-actions .button { min-height:50px; }
.conversion-local { display:flex;align-items:flex-start;gap:10px;margin-top:23px;font-size:13px;line-height:1.75;max-width:490px; }
.conversion-local .icon { color:var(--blue);width:19px;height:19px;margin-top:3px; }
.conversion-copy .hero-whatsapp { margin-top:14px;font-size:12px;min-height:34px; }
.hero-enquiry { min-width:0; }
.hero-enquiry .discovery-panel { border-radius:14px;padding:27px 28px 24px;box-shadow:0 12px 50px #1836660c; }
.discovery-panel:focus { outline:none; }
.discovery-panel .form-heading h2 { font-size:26px;line-height:1.22;letter-spacing:-.035em;max-width:365px; }
.discovery-panel .form-caption { font-size:11px;letter-spacing:.035em; }
.discovery-panel .form-heading>p:last-child { font-size:13px;line-height:1.65; }
.discovery-panel .form-accent { width:34px;margin-bottom:13px; }
.discovery-panel .enquiry-form { gap:13px;margin-top:17px; }
.discovery-panel .required-note { font-size:11px;line-height:1.5; }
.discovery-panel .field label { font-size:12px;line-height:1.5; }
.discovery-panel .field input,.discovery-panel .field textarea,.discovery-panel .field select { font-size:16px; }
.discovery-panel textarea { min-height:86px; }
.discovery-panel .form-submit { min-height:49px;font-size:14px; }
.discovery-panel .form-privacy { font-size:11px;line-height:1.7; }
.optional-details { margin:0;padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.optional-details>summary { display:flex;align-items:center;gap:6px;min-height:43px;font-size:12px;line-height:1.5;padding-block:9px; }
.optional-details>summary>.icon { margin-left:auto;width:15px;height:15px; }
.optional-details[open]>summary>.icon { transform:rotate(180deg); }
.optional-details>.extra-fields-inner { display:flex;flex-direction:column;gap:15px;padding:10px 0 16px; }
.optional-details .signage-fields { border-top:1px solid var(--line);margin:0; }
.optional-details .signage-fields .extra-fields-inner { display:grid;gap:15px;padding-block:8px; }
.career-proof { padding-block:35px 29px; }
.proof-heading { align-items:center; }
.proof-heading h2 { font-size:21px; }
.proof-heading>.text-link { font-size:12px; }
.proof-value { font-size:48px; }
.proof-item strong { font-size:15px;line-height:1.5; }
.proof-context { font-size:12px;line-height:1.8;max-width:1050px; }
.template-home .section { padding-block:84px; }
.template-home .section-heading { gap:65px;margin-bottom:40px; }
.problem-card { display:flex;flex-direction:column;align-items:flex-start;padding:25px 26px 23px; }
.problem-card h3 { font-size:23px; }
.problem-card p { margin-bottom:22px; }
.problem-number { margin-bottom:20px; }
.problem-link { display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:var(--blue);margin-top:auto;line-height:1.6; }
.problem-link .icon { width:18px;height:18px; }
.problem-card:hover .problem-link { text-decoration:underline;text-underline-offset:4px; }
.whole-business { border-top:1px solid var(--line); }
.whole-business-detail { margin-top:48px;gap:70px; }
.whole-business-detail h3 { font-size:26px;line-height:1.3;max-width:410px; }
.whole-business-detail p { margin-top:17px;line-height:1.85; }
.whole-business-detail .text-link { margin-top:22px; }
.review-grid { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:85px;align-items:start; }
.review-grid h2 { max-width:520px; }
.review-intro { margin-top:24px;font-size:17px;line-height:1.85;max-width:475px; }
.review-grid>.review-steps { padding-top:4px; }
.review-grid>.review-steps article { display:grid;grid-template-columns:35px minmax(0,1fr);gap:14px;padding-bottom:25px;margin-bottom:25px;border-bottom:1px solid var(--line); }
.review-steps article>span { color:var(--blue);font-size:12px;font-weight:600;padding-top:5px; }
.review-steps h3 { font-size:24px;line-height:1.3; }
.review-steps article p { margin-top:12px;font-size:15px;line-height:1.8; }
.review-grid .button { margin-top:30px; }
.review-boundary { font-size:13px;line-height:1.8; }
.capability-footnote { display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:38px;padding-top:25px; }
.capability-footnote p { font-size:14px;max-width:540px; }
.capability-footnote>.text-link { max-width:380px; }
.template-home .about-home { background:white; }
.template-home .working-section { border-block:1px solid var(--line); }
.template-home .working-grid p { line-height:1.85; }
.template-home .final-home h2 { font-size:clamp(35px,4vw,55px); }
.final-home p.home-coverage { max-width:850px;font-size:13px;line-height:1.9;margin-top:32px;color:#c7d5ee; }
.home-coverage a { color:white; }
.site-nav>a,.nav-dropdown>summary { font-size:14px; }
.site-nav .mobile-nav-cta { font-size:14px; }
.page-hero { padding-block:47px 53px; }
.page-hero h1 { font-size:clamp(38px,4.5vw,62px);line-height:1.12;text-wrap:balance; }
.page-hero .container>p:not(.section-label) { font-size:18px;line-height:1.8;max-width:830px; }
.content-body .content-section>h2 { line-height:1.25;text-wrap:balance; }
.content-body>.content-section { margin-bottom:48px; }
.page-sidebar { padding:0 5px 12px; }
.page-contents>summary { display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:650;line-height:1.5;list-style:none;min-height:44px;cursor:pointer; }
.page-contents>summary .icon { height:15px;width:15px; }
.page-contents[open]>summary .icon { transform:rotate(180deg); }
.page-contents nav a { font-size:13px;line-height:1.65; }
.page-sidebar>.button { margin-top:23px; }
.page-contents:not([open])+a { margin-top:16px; }
.closing-cta h2 { max-width:700px;font-size:clamp(29px,3vw,40px);line-height:1.22;text-wrap:balance; }
.closing-inner { display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:65px; }
.closing-copy { margin-top:18px; }
.closing-price { font-size:12px;line-height:1.8;margin-top:15px;max-width:610px; }
.closing-actions .button { min-height:50px; }
.policy-contact { padding-block:40px;background:var(--surface);border-block:1px solid var(--line); }
.policy-contact>.container { display:flex;justify-content:space-between;align-items:center;gap:28px; }
.policy-contact h2 { font-size:28px;line-height:1.25; }
.policy-contact p { margin-top:10px; }
.footer-links a { display:inline-flex;align-items:center;min-height:32px;margin-bottom:3px;font-size:13px; }
.footer-brand p { font-size:16px;line-height:1.65;color:var(--ink);font-weight:550; }
.footer-brand>a:not(:first-child) { min-height:30px; }
button,summary,.text-link { touch-action:manipulation; }
@media(min-width:1041px) and (max-width:1240px){
  .conversion-grid { gap:40px;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
  .conversion-copy h1 { font-size:59px; }
  .conversion-promise { font-size:20px; }
  .conversion-intro { font-size:16px; }
  .site-nav { gap:20px; }
}
@media(max-width:1040px){
  .conversion-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px;padding-block:40px; }
  .conversion-copy h1 { font-size:clamp(43px,5.4vw,57px); }
  .conversion-promise { font-size:19px; }
  .conversion-intro { font-size:16px; }
  .hero-enquiry .discovery-panel { padding:24px 22px; }
  .review-grid { gap:42px; }
  .template-home .section-heading { gap:40px; }
  .whole-business-detail { gap:45px; }
  .site-nav>a,.nav-dropdown>summary { font-size:16px;min-height:48px; }
}
@media(max-width:820px){
  .conversion-grid { grid-template-columns:1fr;gap:34px;padding-block:37px 42px; }
  .conversion-copy h1 { font-size:clamp(49px,8.8vw,68px);max-width:650px; }
  .conversion-copy .hero-eyebrow { margin-bottom:19px; }
  .conversion-promise { max-width:560px;font-size:21px; }
  .conversion-intro { max-width:620px;font-size:17px; }
  .hero-enquiry { width:100%;max-width:620px; }
  .hero-enquiry .discovery-panel { max-width:none; }
  .discovery-panel .field-row { grid-template-columns:1fr 1fr; }
  .proof-heading { flex-direction:column;align-items:flex-start;gap:12px; }
  .template-home .section { padding-block:60px; }
  .review-grid { grid-template-columns:1fr;gap:38px; }
  .review-intro { max-width:650px; }
  .review-grid h2 br { display:none; }
  .capability-footnote { flex-direction:column;align-items:flex-start;gap:16px; }
  .content-layout { grid-template-columns:1fr;gap:30px; }
  .page-sidebar { max-height:none;overflow:visible;padding:0; }
  .page-contents { border-block:1px solid var(--line);padding-block:4px; }
  .page-contents>summary { font-size:14px;min-height:48px; }
  .page-contents nav { display:flex;flex-direction:column;align-items:stretch;gap:0;padding-bottom:10px; }
  .page-contents nav a { min-height:42px;padding-block:9px;font-size:14px; }
  .page-sidebar p.sidebar-price { display:none; }
  .page-hero { padding-block:36px 40px; }
  .closing-inner { gap:35px;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
}
@media(max-width:540px){
  .conversion-grid { padding-top:30px;gap:28px; }
  .conversion-copy .hero-eyebrow { font-size:11px;margin-bottom:18px; }
  .conversion-copy h1 { font-size:clamp(44px,10.8vw,58px);line-height:1.06;letter-spacing:-.055em; }
  .conversion-promise { font-size:19px;line-height:1.5;margin-top:22px;max-width:360px; }
  .conversion-intro { font-size:16px;line-height:1.8;margin-top:14px; }
  .conversion-copy .hero-actions { margin-top:23px;gap:12px;align-items:stretch; }
  .conversion-copy .hero-actions .button { width:100%; }
  .conversion-copy .hero-actions .text-link { min-height:40px; }
  .conversion-local { margin-top:15px;font-size:12px;line-height:1.75; }
  .conversion-copy .hero-whatsapp { margin-top:10px;min-height:40px; }
  .hero-enquiry .discovery-panel { padding:23px 19px; }
  .discovery-panel .form-heading h2 { font-size:26px; }
  .discovery-panel .field-row { grid-template-columns:1fr;gap:13px; }
  .discovery-panel .field input { min-height:46px; }
  .optional-details>summary { font-size:12px;flex-wrap:wrap; }
  .optional-details>summary>.optional { display:none; }
  .optional-details>summary>.icon { margin-left:auto; }
  .discovery-panel .form-submit { font-size:13px;padding-inline:12px;gap:10px; }
  .discovery-panel .form-submit .icon { width:17px;height:17px; }
  .proof-heading h2 { font-size:20px; }
  .proof-grid { grid-template-columns:1fr;gap:0; }
  .proof-item { display:grid;grid-template-columns:103px minmax(0,1fr);gap:0 16px;border-left:0;border-top:1px solid var(--line);padding:20px 0; }
  .proof-item:first-child { border-top:0;padding-top:0; }
  .proof-value { grid-row:1/4;font-size:37px;line-height:1.3; }
  .proof-item strong { margin-top:0;font-size:14px; }
  .proof-item p { font-size:12px;margin-top:7px; }
  .proof-link { font-size:12px;margin-top:6px;min-height:30px;line-height:1.5; }
  .proof-link .icon { width:16px;height:16px; }
  .proof-context { margin-top:0;font-size:11px;line-height:1.8; }
  .template-home .section { padding-block:49px; }
  .template-home .section-heading { gap:19px;margin-bottom:30px; }
  .template-home h2 { font-size:32px; }
  .problem-grid { gap:14px; }
  .problem-card { padding:22px; }
  .problem-card h3 { font-size:22px;max-width:300px; }
  .problem-card p { margin-bottom:18px; }
  .problem-number { margin-bottom:12px; }
  .whole-business-detail { grid-template-columns:1fr;margin-top:33px;gap:30px; }
  .whole-business-detail h3 { font-size:24px; }
  .whole-business-detail p { font-size:15px; }
  .review-steps h3 { font-size:22px; }
  .review-grid>.review-steps article { gap:9px;grid-template-columns:25px minmax(0,1fr); }
  .review-intro { font-size:16px; }
  .about-home-grid p.about-quote { font-size:23px; }
  .working-grid h3 { font-size:23px;margin-top:17px; }
  .working-grid p { font-size:15px; }
  .final-home { padding-block:50px; }
  .final-home p { font-size:19px; }
  .final-home p.home-coverage { font-size:12px; }
  .page-hero h1 { font-size:clamp(32px,8.4vw,42px); }
  .page-hero .container>p:not(.section-label) { font-size:16px;line-height:1.85; }
  .page-hero .hero-actions { gap:10px; }
  .page-hero .hero-actions .button { width:100%; }
  .page-hero .hero-actions .text-link { min-height:42px; }
  .content-body .content-section>h2 { font-size:27px;line-height:1.3; }
  .content-body .content-section p { font-size:16px;line-height:1.85; }
  .content-body>.content-section { margin-bottom:39px; }
  .closing-inner { grid-template-columns:1fr;gap:26px; }
  .closing-cta h2 { font-size:30px; }
  .closing-actions { max-width:none; }
  .policy-contact>.container { flex-direction:column;align-items:flex-start; }
  .policy-contact h2 { font-size:25px; }
  .footer-grid { grid-template-columns:minmax(0,1fr) minmax(0,.85fr); }
  .footer-brand p { font-size:15px; }
  .footer-brand>a:not(:first-child) { font-size:12px; }
  .footer-links a { min-height:36px;font-size:12px; }
  .footer-bottom nav a { min-height:36px; }
}
@media(prefers-reduced-motion:reduce){html { scroll-behavior:auto; }*,*::before,*::after { animation:none!important;transition:none!important; }}

.whole-business .journey-steps li > span { color:#b8cbff; }

.conversion-copy .hero-whatsapp .icon { display:inline-block;width:20px;height:20px; }

/* Release 2.3: a wordmark without triangles and readable worked examples. */
.brand img { width:148px;height:50px;object-fit:contain;object-position:left center; }
.footer-brand img { width:148px;height:50px;object-fit:contain;object-position:left center; }
.improvement-examples { margin-top:76px;padding-top:62px;border-top:1px solid var(--line); }
.examples-intro { max-width:810px;margin-bottom:34px; }
.examples-intro h2 { font-size:clamp(30px,3vw,42px);line-height:1.16;max-width:690px;text-wrap:balance; }
.examples-intro>p:not(.section-label) { margin-top:20px;font-size:17px;line-height:1.8; }
.examples-intro>p.examples-context { font-size:13px;line-height:1.75;max-width:700px;margin-top:14px; }
.examples-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start; }
.improvement-example { min-width:0;background:white;border:1px solid var(--line);border-radius:12px;padding:32px;scroll-margin-top:110px; }
.example-stage { color:var(--blue);font-size:12px;font-weight:650;line-height:1.6; }
.improvement-example h3 { font-size:27px;line-height:1.22;margin-top:13px;letter-spacing:-.032em;text-wrap:balance; }
.improvement-example h4 { font-size:14px;line-height:1.5;margin:24px 0 8px; }
.improvement-example>p:not(.example-stage) { font-size:15px;line-height:1.85; }
.example-problem { margin-top:17px; }
.improvement-example>p.example-task-result { margin-top:15px;color:var(--ink);font-size:13px;font-weight:600;line-height:1.75; }
.example-comparison { display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.example-comparison>div { min-width:0; }
.example-comparison dt { font-size:12px;line-height:1.7;color:var(--muted); }
.example-comparison dd { margin:7px 0 0;font-size:19px;line-height:1.35;font-weight:650;letter-spacing:-.02em; }
.example-comparison>div:last-child dd { color:var(--blue); }
.example-flow { display:flex;flex-wrap:wrap;gap:7px 20px;margin:18px 0 0;padding-left:18px;font-size:12px;line-height:1.8;color:var(--muted);list-style-type:decimal; }
.example-flow li { padding-left:1px;margin-right:8px; }
.example-value { margin-top:25px;padding:21px 22px;background:var(--pale-blue);border-left:3px solid var(--blue); }
.example-value p { display:flex;flex-direction:column;gap:7px; }
.example-value strong { font-size:35px;line-height:1.2;letter-spacing:-.035em;color:var(--blue); }
.example-value span { font-size:13px;line-height:1.65;color:var(--ink);max-width:340px; }
.example-impact { margin-top:18px; }
.example-calculations { margin-top:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line); }
.example-calculations>summary { cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 0;min-height:48px;font-size:13px;font-weight:650;line-height:1.55; }
.example-calculations>summary .icon { width:17px;height:17px; }
.example-calculations[open]>summary .icon { transform:rotate(180deg); }
.example-calculation-body { padding:0 0 23px; }
.example-calculation-body dl { margin:0; }
.example-calculation-body dl>div { margin-top:18px; }
.example-calculation-body dt { font-weight:650;font-size:13px;line-height:1.6; }
.example-calculation-body dd { margin:7px 0 0;font-size:13px;line-height:1.85;color:var(--muted); }
.example-evidence { font-size:13px;line-height:1.8;margin-top:20px; }
.example-sources { margin:10px 0 0;padding-left:18px;font-size:12px;line-height:1.85; }
.example-sources a { display:inline;color:var(--blue);overflow-wrap:anywhere; }
.example-sources .icon { width:14px;height:14px; }
.example-next { padding-top:22px; }
.example-next p { display:flex;flex-direction:column;gap:5px;font-size:12px;line-height:1.7; }
.example-next strong { color:var(--ink); }
.example-next .text-link { margin-top:15px;min-height:44px;font-size:13px;line-height:1.6; }
.examples-close { margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:28px; }
.examples-close p { max-width:640px;font-size:13px;line-height:1.85; }
.examples-close .button { max-width:355px;flex-shrink:0;text-align:left; }
@media(max-width:1040px) { .improvement-example { padding:25px; }.examples-grid { gap:22px; }.examples-close { flex-direction:column;align-items:flex-start; }.examples-close .button { max-width:none; } }
@media(max-width:820px) { .examples-grid { grid-template-columns:1fr; }.improvement-examples { margin-top:45px;padding-top:42px; }.examples-intro { margin-bottom:27px; }.improvement-example { padding:28px; } }
@media(max-width:540px) { .brand img { width:124px;height:42px; }.improvement-example { padding:22px 19px; }.improvement-example h3 { font-size:24px; }.examples-intro>p:not(.section-label) { font-size:16px; }.examples-intro>p.examples-context { font-size:12px; }.example-comparison { gap:14px; }.example-comparison dd { font-size:17px; }.example-comparison dt { font-size:11px; }.example-value { padding:17px; }.example-value strong { font-size:31px; }.example-value span { font-size:12px; }.examples-close .button { width:100%;font-size:13px; }.example-next .text-link { font-size:13px; } }
@media(max-width:350px) { .brand img { width:114px;height:39px; }.example-comparison { grid-template-columns:1fr;gap:14px; }.example-comparison dd { margin-top:3px; } }
@media print { .examples-grid { display:block; }.improvement-example { margin:0 0 24px;border:0;padding:0;break-inside:avoid; }.example-calculations { display:block; }.examples-close .button { display:none; } }

/* Compact homepage audit announcement, and package-aware enquiry context. */
.audit-announcement { background:var(--navy);border-bottom:2px solid #35486c; }
.audit-announcement-link { display:flex;align-items:center;justify-content:space-between;gap:12px 25px;min-height:53px;padding-block:11px;text-decoration:none;color:white; }
.audit-announcement-label { color:#ffc1db;font-size:11px;line-height:1.6;font-weight:650; }
.audit-announcement-prices { display:flex;flex-wrap:wrap;align-items:baseline;gap:0 7px;font-size:13px;line-height:1.8;color:#e1e9f7; }
.audit-announcement-prices strong { color:#fff;font-weight:650; }
.audit-announcement-separator { margin-inline:7px;color:#9eafcb; }
.audit-announcement-cta { display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:650;white-space:nowrap; }
.audit-announcement-cta .icon { width:17px;height:17px; }
.audit-announcement-link:hover .audit-announcement-cta { text-decoration:underline;text-underline-offset:4px; }
.audit-announcement-link:focus-visible { outline-color:white;outline-offset:-4px; }
.audit-enquiry-choice { padding:15px 16px;background:var(--pale-blue);border-left:3px solid var(--blue);margin-bottom:18px; }
.audit-enquiry-choice>span { display:block;font-size:11px;line-height:1.6;color:var(--muted); }
.audit-enquiry-choice>strong { display:block;font-size:14px;line-height:1.6;color:var(--ink);margin-top:4px; }
.audit-enquiry-choice>p { font-size:12px;line-height:1.8;margin-top:6px;color:var(--muted); }
.audit-enquiry-choice>a { display:inline-block;font-size:12px;line-height:1.8;margin-top:7px;color:var(--blue); }
@media(max-width:860px) {
 .audit-announcement-link { gap:3px 15px;flex-wrap:wrap; }
 .audit-announcement-label { flex-basis:100%; }
 .audit-announcement-prices { font-size:12px; }
}
@media(max-width:540px) {
 .audit-announcement-link { padding-block:10px 11px;position:relative;gap:3px; }
 .audit-announcement-label { flex-basis:auto;margin-right:10px;font-size:10px; }
 .audit-announcement-cta { margin-left:auto;font-size:10px;gap:5px; }
 .audit-announcement-cta .icon { width:14px;height:14px; }
 .audit-announcement-prices { order:3;flex-basis:100%;font-size:11px;gap:0 5px; }
 .audit-announcement-separator { margin-inline:2px; }
}
@media print { .audit-announcement { display:none; } }
