/* Party Wall 1996 site stylesheet.
   Design tokens, base reset, layout, components, page templates and motion.
   Bootstrap 5 (assets/vendor/bootstrap) supplies the grid, forms and utilities. */
:root {
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --border: #d6d0c5;
  --default-font-family: var(--font-sans);
  --default-mono-font-family: var(--font-mono);
  --spacing: .25rem;
  --tw-translate-x: calc(var(--spacing) * 0);
  --tw-translate-y: calc(var(--spacing) * .5);
  --tw-space-x-reverse: 0;
  --background: #fff;
  --foreground: #07284b;
  --brand-accent: #bd8a2c;
  --brand-primary: #06264a;
  --navy-deep: #031a33;
  --gold-light: #e3bd72;
  --ink-soft: #526573;
  --white: #fff;
  --paper: #fbfaf7;
  --input: #c9c0b2;
  --tw-enter-opacity: 0;
  --tw-enter-translate-x: calc(2*var(--spacing)*-1);
  --tw-enter-translate-y: calc(2*var(--spacing));
  --tw-enter-scale: .95;
  --tw-enter-rotate: 0;
  --tw-enter-blur: 0;
  --tw-exit-opacity: 0;
  --tw-exit-translate-x: calc(52*var(--spacing)*-1);
  --tw-exit-translate-y: 0;
  --tw-exit-scale: .95;
  --tw-exit-rotate: 0;
  --tw-exit-blur: 0;
  --_scroll-fade-size-b: var(--scroll-fade-b-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));
  --_scroll-fade-size-s: var(--scroll-fade-s-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));
  --_scroll-fade-size-e: var(--scroll-fade-e-size,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))));
}

@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--shimmer-angle:20deg}*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0;--scroll-fade-t:0px;--scroll-fade-b:0px;--scroll-fade-s:0px;--scroll-fade-e:0px;--scroll-fade-mask:initial;--shimmer-image:initial;--shimmer-text-fill:initial}}

:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-normal:400;--font-weight-medium:500;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-md:4px;--radius-2xl:1rem;--radius-4xl:2rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-xs:4px;--aspect-video:16 / 9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-border:var(--border)}

*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}

::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}

::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}

html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}

hr{height:0;color:inherit;border-top-width:1px}

abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}

h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}

a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}

b,strong{font-weight:bolder}

code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}

small{font-size:80%}

sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}

sub{bottom:-.25em}

sup{top:-.5em}

table{text-indent:0;border-color:inherit;border-collapse:collapse}

:-moz-focusring{outline:auto}

progress{vertical-align:baseline}

summary{display:list-item}

ol,ul,menu{list-style:none}

img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}

img,video{max-width:100%;height:auto}

button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}

::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}

:where(select:is([multiple],[size])) optgroup{font-weight:bolder}

:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}

::file-selector-button{margin-inline-end:4px}

::placeholder{opacity:1}

@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}

textarea{resize:vertical}

::-webkit-search-decoration{-webkit-appearance:none}

::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}

::-webkit-datetime-edit{display:inline-flex}

::-webkit-datetime-edit-fields-wrapper{padding:0}

::-webkit-datetime-edit{padding-block:0}

::-webkit-datetime-edit-year-field{padding-block:0}

::-webkit-datetime-edit-month-field{padding-block:0}

::-webkit-datetime-edit-day-field{padding-block:0}

::-webkit-datetime-edit-hour-field{padding-block:0}

::-webkit-datetime-edit-minute-field{padding-block:0}

::-webkit-datetime-edit-second-field{padding-block:0}

::-webkit-datetime-edit-millisecond-field{padding-block:0}

::-webkit-datetime-edit-meridiem-field{padding-block:0}

::-webkit-calendar-picker-indicator{line-height:1}

:-moz-ui-invalid{box-shadow:none}

button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}

::file-selector-button{-webkit-appearance:button;appearance:button}

::-webkit-inner-spin-button{height:auto}

::-webkit-outer-spin-button{height:auto}

[hidden]:where(:not([hidden=until-found])){display:none!important}

.\@container\/card-header{container:card-header/inline-size}

.\@container\/field-group{container:field-group/inline-size}

.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}

.-top-12{top:calc(var(--spacing) * -12)}

.-right-12{right:calc(var(--spacing) * -12)}

.-bottom-12{bottom:calc(var(--spacing) * -12)}

.-left-12{left:calc(var(--spacing) * -12)}

.-mx-1{margin-inline:calc(var(--spacing) * -1)}

.-mx-4{margin-inline:calc(var(--spacing) * -4)}

.-my-2{margin-block:calc(var(--spacing) * -2)}

.-mt-4{margin-top:calc(var(--spacing) * -4)}

.-mb-4{margin-bottom:calc(var(--spacing) * -4)}

.-ml-1{margin-left:calc(var(--spacing) * -1)}

.-ml-4{margin-left:calc(var(--spacing) * -4)}

.-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}

.-translate-x-px{--tw-translate-x:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}

.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}

.-translate-y-3\/4{--tw-translate-y:calc(calc(3 / 4 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}

:where(.-space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * -2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * -2) * calc(1 - var(--tw-space-x-reverse)))}

:root{--background:#fff;--foreground:#07284b;--card:#fffefa;--card-foreground:#07284b;--primary:#06264a;--primary-foreground:#fff;--secondary:#e8e4dc;--secondary-foreground:#07284b;--muted:#ece9e2;--muted-foreground:#5b6974;--accent:#bd8a2c;--accent-foreground:#07284b;--border:#d6d0c5;--input:#c9c0b2;--ring:#bd8a2c;--radius:4px;--brand-primary:#06264a;--brand-accent:#bd8a2c;--navy-deep:#031a33;--navy-soft:#123b60;--gold-light:#e3bd72;--paper:#fbfaf7;--white:#fff;--ink-soft:#526573}

*{box-sizing:border-box;border-color:var(--border)}

html{scroll-behavior:smooth}

body{background:var(--background);color:var(--foreground);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}

body:has(.site-frame){padding-bottom:58px}

a{color:inherit;text-decoration:none}

button,input,textarea,select{font:inherit}

button{color:inherit}

img{max-width:100%;display:block}

:focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}

.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}

.site-frame{min-height:100vh;color:var(--brand-primary);background:#fff}

.section{padding:clamp(76px,8vw,124px) clamp(20px,5vw,76px)}

.kicker{color:var(--brand-accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;font-size:11px;font-weight:900;display:block}

.button{border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 21px;font-size:13px;font-weight:850;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}

.button:hover{transform:translateY(-2px)}

.button svg{width:16px}

.button-primary{background:var(--brand-accent);color:var(--navy-deep)}

.button-primary:hover{background:var(--brand-accent)}

@supports (color:color-mix(in lab, red, red)){.button-primary:hover{background:color-mix(in srgb, var(--brand-accent), white 18%)}}

.button-secondary{color:#fff;background:0 0;border-color:#ffffff5c}

.button-secondary:hover{color:var(--brand-primary);background:#fff}

.hero-copy .button-secondary,.page-hero .button-secondary,.final-cta .button-secondary{color:var(--brand-primary);border-color:#06264a59}

.hero-copy .button-secondary:hover,.page-hero .button-secondary:hover,.final-cta .button-secondary:hover{background:var(--brand-primary);color:#fff}

.button:disabled,button:disabled{opacity:.55;cursor:not-allowed;transform:none}

.text-link{color:#805710;align-items:center;gap:9px;font-size:13px;font-weight:800;display:inline-flex}

.text-link svg{width:15px}

.announcement{min-height:36px;color:var(--brand-primary);letter-spacing:.035em;background:#f2eee6;border-bottom:1px solid #dfd8cc;justify-content:center;align-items:center;gap:24px;padding:7px clamp(20px,5vw,76px);font-size:12px;display:flex}

.announcement-link{color:#875d15;align-items:center;gap:6px;font-weight:800;display:inline-flex}

.announcement-link svg{width:14px}

.site-header{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffefaf2;border-bottom:1px solid #07284b21;justify-content:space-between;align-items:center;gap:30px;height:94px;padding:0 clamp(20px,5vw,76px);display:flex;position:sticky;top:0}

.brand{flex:none;align-items:center;width:186px;height:84px;display:flex;overflow:hidden}

.brand img{object-fit:contain;width:180px;height:180px;transform:scale(1.16)}

.desktop-nav{justify-content:center;align-items:center;gap:clamp(14px,1.7vw,27px);font-size:12px;font-weight:800;display:flex}

.desktop-nav a{white-space:nowrap;border-bottom:1px solid #0000;padding:10px 0}

.desktop-nav a:hover{color:#8b6118;border-color:var(--brand-accent)}

.header-actions{align-items:center;gap:8px;display:flex}

.header-cta{background:var(--brand-primary);color:#fff;align-items:center;gap:8px;min-height:45px;padding:0 18px;font-size:12px;font-weight:850;display:inline-flex}

.header-cta svg{width:15px}

.menu-button{border:1px solid var(--border);width:44px;height:44px;color:var(--brand-primary);background:#fff;justify-content:center;align-items:center;display:none}

.hero-shell{min-height:690px;color:var(--brand-primary);border-bottom:1px solid var(--border);background:#fff;grid-template-columns:minmax(0,.93fr) minmax(480px,1.07fr);display:grid}

.hero-copy{align-self:center;padding:clamp(72px,8vw,120px) clamp(28px,6vw,94px)}

.eyebrow{color:var(--gold-light);text-transform:uppercase;letter-spacing:.14em;align-items:center;gap:9px;margin-bottom:25px;font-size:11px;font-weight:850;display:flex}

.eyebrow svg{width:17px}

.hero-copy h1,.section-heading h2,.checker-promo h2,.owner-paths h2,.research-section h2,.final-cta h2,.page-hero h1,.service-main-copy h2,.deliverables-card h2,.form-heading h2,.quote-aside h2,.checker-step h2,.checker-result h2,.home-assessment h2,.service-process h2,.service-sources h2,.related-services h2,.service-enquiry h2{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:400}

.hero-copy h1{max-width:720px;font-size:clamp(50px,6.3vw,90px);line-height:.97}

.hero-copy>p{max-width:610px;color:var(--ink-soft);margin:28px 0 0;font-size:clamp(17px,1.45vw,21px);line-height:1.66}

.hero-actions{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}

.hero-points{color:var(--ink-soft);flex-wrap:wrap;gap:15px 24px;margin:34px 0 0;padding:0;font-size:12px;list-style:none;display:flex}

.hero-points li{align-items:center;gap:7px;display:flex}

.hero-points svg{width:15px;color:var(--gold-light)}

.hero-visual{background:#183856;min-height:690px;position:relative;overflow:hidden}

.hero-visual:after{content:"";pointer-events:none;background:linear-gradient(90deg,#fff 0,#ffffff6b 18%,#0000 34%),linear-gradient(#0000 48%,#031a332e);position:absolute;inset:0}

.hero-visual>img{object-fit:cover;object-position:68% center;width:100%;height:100%;transform:scale(1.02)}

.hero-logo-card{z-index:2;background:#ffffffeb;width:138px;height:138px;padding:4px;position:absolute;top:28px;right:28px;overflow:hidden;box-shadow:0 18px 50px #0000003d}

.hero-logo-card img{object-fit:contain;width:100%;height:100%;transform:scale(1.18)}

.hero-note{z-index:2;width:min(350px,100% - 68px);color:var(--brand-primary);background:#fffefaf2;align-items:center;gap:13px;padding:19px 21px;display:flex;position:absolute;bottom:34px;right:34px;box-shadow:0 20px 50px #0000003d}

.hero-note svg{width:25px;color:var(--brand-accent);flex:none}

.hero-note span{font-size:11px;line-height:1.45}

.hero-note strong{font-family:Georgia,serif;font-size:18px;font-weight:400;display:block}

.intro-strip{background:var(--white);border-bottom:1px solid var(--border);grid-template-columns:.55fr 1.45fr;align-items:center;gap:40px;padding:25px clamp(20px,5vw,76px);display:grid}

.intro-strip>p{color:#6d706f;text-transform:uppercase;letter-spacing:.13em;margin:0;font-size:11px;font-weight:850}

.intro-strip>div{grid-template-columns:repeat(3,1fr);display:grid}

.intro-strip a{border-left:1px solid var(--border);align-items:center;gap:10px;min-height:58px;padding:0 24px;font-family:Georgia,serif;font-size:17px;display:flex}

.intro-strip a>span{color:var(--brand-accent);font-family:sans-serif;font-size:10px;font-weight:900}

.intro-strip a svg{width:15px;margin-left:auto}

.trust-strip{border-bottom:1px solid var(--border);background:#ece8df;grid-template-columns:repeat(4,1fr);padding:0 clamp(20px,5vw,76px);display:grid}

.trust-strip article{border-right:1px solid #d2cbc0;grid-template-columns:28px 1fr;align-content:center;column-gap:12px;min-height:124px;padding:27px 25px;display:grid}

.trust-strip article:first-child{border-left:1px solid #d2cbc0}

.trust-strip svg{width:25px;color:var(--brand-accent);grid-row:span 2}

.trust-strip strong{font-size:13px}

.trust-strip span{color:#65717a;margin-top:4px;font-size:11px}

.section-heading{grid-template-columns:1.17fr .83fr;align-items:end;gap:50px;display:grid}

.section-heading h2{max-width:790px;font-size:clamp(39px,5vw,67px);line-height:1.05}

.section-heading>p{color:var(--ink-soft);margin:0 0 5px;line-height:1.78}

.checker-promo{color:var(--brand-primary);border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;grid-template-columns:.82fr 1.18fr;align-items:center;gap:clamp(48px,8vw,120px);display:grid}

.checker-promo h2{max-width:650px;font-size:clamp(42px,5vw,67px);line-height:1.05}

.checker-promo-copy>p{max-width:610px;color:var(--ink-soft);margin:25px 0 33px;line-height:1.75}

.checker-diagram{border:1px solid var(--border);background:#fbfaf7;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:13px;min-height:280px;padding:34px;display:grid}

.checker-diagram span,.checker-diagram strong{text-align:center;border:1px solid var(--border);background:#fff;justify-content:center;align-items:center;min-height:86px;padding:13px;font-size:12px;display:flex}

.checker-diagram strong{border-color:var(--brand-accent);color:var(--gold-light)}

.checker-diagram svg{width:17px;color:var(--gold-light)}

.services-preview{background:var(--paper)}

.service-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(4,1fr);margin-top:54px;display:grid}

.service-card{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fffefa85;flex-direction:column;min-height:375px;padding:32px 28px;transition:background .2s,transform .2s;display:flex}

.service-card:hover{background:var(--white);transform:translateY(-4px)}

.service-card>svg{width:30px;height:30px;color:var(--brand-accent);stroke-width:1.5px}

.service-category{color:#7a8490;letter-spacing:.13em;text-transform:uppercase;margin-top:28px;font-size:9px;font-weight:900}

.service-card h3{margin:12px 0;font-family:Georgia,serif;font-size:24px;font-weight:400;line-height:1.12}

.service-card p{color:#5d6c77;margin:0;font-size:13px;line-height:1.7}

.service-card a{color:#805710;align-items:center;gap:8px;margin-top:auto;padding-top:26px;font-size:12px;font-weight:900;display:flex}

.service-card a svg{width:14px}

.section-link{margin-top:30px}

.owner-paths{grid-template-columns:1fr 1fr;padding-top:0;display:grid}

.owner-paths article{min-height:430px;color:var(--brand-primary);border:1px solid var(--border);background:#fff;flex-direction:column;justify-content:center;padding:clamp(45px,6vw,82px);display:flex}

.owner-paths article:last-child{color:var(--navy-deep);background:#f3eee4;border-left:0}

.owner-paths article>span{letter-spacing:.15em;text-transform:uppercase;opacity:.75;font-size:10px;font-weight:900}

.owner-paths h2{margin-top:18px;font-size:clamp(43px,5vw,66px)}

.owner-paths p{max-width:570px;color:var(--ink-soft);margin:22px 0 30px;line-height:1.75}

.owner-paths article:last-child p{color:#2d3b46}

.owner-paths a{align-items:center;gap:8px;font-size:13px;font-weight:850;display:inline-flex}

.owner-paths a svg{width:15px}

.process-section{background:var(--white)}

.process-list{border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);margin:55px 0 0;padding:0;list-style:none;display:grid}

.process-list li{border-right:1px solid var(--border);min-height:260px;padding:26px 24px}

.process-list li:first-child{border-left:1px solid var(--border)}

.process-list>li>span{color:var(--brand-accent);font-size:11px;font-weight:900}

.process-list h3{margin:64px 0 12px;font-family:Georgia,serif;font-size:21px;font-weight:400}

.process-list p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.7}

.project-section{background:#eae6dd}

.project-grid{grid-template-columns:repeat(3,1fr);margin-top:52px;display:grid}

.project-grid article{background:#fff3;border:1px solid #d1cabf;flex-direction:column;min-height:220px;margin:-1px 0 0 -1px;padding:30px;display:flex}

.project-grid article>span{color:var(--brand-accent);font-size:10px;font-weight:900}

.project-grid h3{margin:38px 0 0;font-family:Georgia,serif;font-size:26px;font-weight:400}

.project-grid a{align-items:center;gap:8px;margin-top:auto;font-size:12px;font-weight:850;display:flex}

.project-grid a svg{width:14px}

.home-assessment{border-top:1px solid var(--border);background:#f1ede5;grid-template-columns:.82fr 1.18fr;align-items:start;gap:clamp(50px,8vw,110px);display:grid}

.home-assessment-copy h2{max-width:660px;font-size:clamp(42px,5vw,66px);line-height:1.04}

.home-assessment-copy>p{max-width:590px;color:var(--ink-soft);margin:25px 0;line-height:1.75}

.home-assessment>.lead-form{border:1px solid var(--border);padding:clamp(30px,4vw,48px)}

.research-section{color:var(--brand-primary);border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#f7f5f0;grid-template-columns:.85fr 1.15fr;gap:clamp(50px,8vw,120px);display:grid}

.research-section h2{max-width:650px;font-size:clamp(42px,5vw,65px);line-height:1.06}

.research-section>div>p{max-width:610px;color:var(--ink-soft);margin:25px 0 0;line-height:1.75}

.source-list{border-top:1px solid var(--border)}

.source-list a{border-bottom:1px solid var(--border);background:#fff;grid-template-columns:22px 1fr 18px;align-items:center;gap:14px;min-height:78px;padding:0 18px;display:grid}

.source-list svg{width:18px;color:var(--gold-light)}

.source-list span{font-family:Georgia,serif;font-size:19px}

.faq-section{background:var(--white)}

.faq-list{border-top:1px solid var(--border);max-width:1000px;margin:54px 0 0 auto}

.faq-list details{border-bottom:1px solid var(--border)}

.faq-list summary{cursor:pointer;grid-template-columns:38px 1fr 22px;align-items:center;gap:14px;min-height:82px;padding:0 8px;font-family:Georgia,serif;font-size:20px;list-style:none;display:grid}

.faq-list summary::-webkit-details-marker{display:none}

.faq-list summary>span:first-child{color:var(--brand-accent);font-family:sans-serif;font-size:10px;font-weight:900}

.faq-list summary>span:last-child{color:var(--brand-accent);font-family:sans-serif;font-size:24px;transition:transform .2s}

.faq-list details[open] summary>span:last-child{transform:rotate(45deg)}

.faq-list details>p{color:var(--ink-soft);margin:-2px 44px 28px 60px;line-height:1.75}

.final-cta{color:var(--brand-primary);border-top:1px solid var(--border);background:#f1ede5;justify-content:space-between;align-items:center;gap:50px;padding:clamp(55px,7vw,90px) clamp(20px,5vw,76px);display:flex}

.final-cta h2{max-width:880px;font-size:clamp(39px,5vw,62px);line-height:1.05}

.final-cta>div:last-child{flex-wrap:wrap;gap:10px;display:flex}

.page-hero{min-height:470px;color:var(--brand-primary);border-bottom:1px solid var(--border);background:#fff;flex-direction:column;justify-content:center;padding:clamp(90px,10vw,145px) clamp(20px,9vw,145px);display:flex}

.page-hero h1{max-width:1050px;font-size:clamp(52px,7.2vw,100px);line-height:.98}

.page-hero>p{max-width:790px;color:var(--ink-soft);margin:28px 0 0;font-size:clamp(17px,1.55vw,21px);line-height:1.7}

.page-hero>div{flex-wrap:wrap;gap:10px;margin-top:33px;display:flex}

.page-hero-services{background:linear-gradient(120deg,#fff,#f3eee4)}

.service-catalogue{background:var(--paper)}

.catalogue-group{margin-bottom:90px}

.catalogue-group:last-child{margin-bottom:0}

.catalogue-group>header{grid-template-columns:55px 1fr;gap:20px;max-width:860px;margin-bottom:32px;display:grid}

.catalogue-group>header>svg{width:45px;height:45px;color:var(--brand-accent);stroke-width:1.4px}

.catalogue-group h2{margin:0;font-family:Georgia,serif;font-size:clamp(35px,4vw,52px);font-weight:400}

.catalogue-group header p{color:var(--ink-soft);margin:12px 0 0;line-height:1.7}

.catalogue-group>div{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}

.catalogue-group article{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fffefa8c;flex-direction:column;min-height:315px;padding:30px;display:flex}

.catalogue-group article h3{margin:0;font-family:Georgia,serif;font-size:24px;font-weight:400}

.catalogue-group article p{color:var(--ink-soft);font-size:13px;line-height:1.7}

.catalogue-group article>span{color:#7a8490;font-size:10px;line-height:1.5}

.catalogue-group article a{color:#805710;align-items:center;gap:8px;margin-top:auto;font-size:12px;font-weight:850;display:flex}

.catalogue-group article a svg{width:14px}

.service-page-hero{background:linear-gradient(125deg,#fff,#f3eee4)}

.service-detail{grid-template-columns:1.15fr .85fr;align-items:start;gap:clamp(50px,8vw,120px);display:grid}

.service-main-copy>h2{max-width:720px;font-size:clamp(42px,5vw,64px);line-height:1.05}

.service-main-copy>p{max-width:780px;color:var(--ink-soft);font-size:16px;line-height:1.8}

.service-main-copy>p strong{color:var(--brand-primary);font-weight:750}

.service-main-copy>h3{margin:42px 0 10px;font-family:Georgia,serif;font-size:28px;font-weight:400}

.research-list{border-top:1px solid var(--border);max-width:790px;margin:0;padding:0;list-style:none}

.research-list li{border-bottom:1px solid var(--border);min-height:62px;color:var(--ink-soft);align-items:center;gap:12px;padding:13px 0;font-size:14px;line-height:1.55;display:flex}

.research-list svg{width:18px;color:var(--brand-accent);flex:none}

.detail-panels{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:1fr 1fr;margin-top:48px;display:grid}

.detail-panels article{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:250px;padding:28px}

.detail-panels svg{width:27px;color:var(--brand-accent)}

.detail-panels h3{margin:48px 0 10px;font-family:Georgia,serif;font-size:22px;font-weight:400}

.detail-panels p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.7}

.deliverables-card{color:var(--brand-primary);border:1px solid var(--border);background:#f3eee4;padding:42px;position:sticky;top:120px}

.deliverables-card>svg{width:40px;color:var(--gold-light)}

.deliverables-card .kicker{margin-top:45px}

.deliverables-card h2{font-size:39px;line-height:1.05}

.deliverables-card ul{margin:31px 0;padding:0;list-style:none}

.deliverables-card li{border-bottom:1px solid var(--border);align-items:center;gap:11px;min-height:50px;font-size:13px;display:flex}

.deliverables-card li svg{width:16px;color:var(--gold-light)}

.deliverables-card>p{color:var(--ink-soft);font-size:11px}

.deliverables-card .document-divider{border-top:1px solid var(--border);margin:34px 0}

.deliverables-card .document-divider+svg{width:30px}

.deliverables-card h3{margin:18px 0 0;font-family:Georgia,serif;font-size:25px;font-weight:400}

.service-process{background:var(--paper);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}

.service-process>ol{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin:50px 0 0;padding:0;list-style:none;display:grid}

.service-process>ol li{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;min-height:280px;padding:30px}

.service-process>ol li>span{color:var(--brand-accent);font-size:11px;font-weight:900}

.service-process>ol h3{margin:66px 0 13px;font-family:Georgia,serif;font-size:27px;font-weight:400}

.service-process>ol p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.7}

.service-faq{background:#ece8df}

.service-sources{background:#fff;grid-template-columns:.8fr 1.2fr;gap:clamp(48px,8vw,110px);display:grid}

.service-sources h2{font-size:clamp(40px,5vw,62px)}

.service-sources>div:first-child p{max-width:560px;color:var(--ink-soft);line-height:1.75}

.service-sources>div:last-child{border-top:1px solid var(--border)}

.service-sources a{border-bottom:1px solid var(--border);grid-template-columns:24px 1fr 20px;align-items:center;gap:15px;min-height:82px;padding:12px 10px;display:grid}

.service-sources a svg{width:18px;color:var(--brand-accent)}

.service-sources a span{font-family:Georgia,serif;font-size:18px;line-height:1.35}

.related-services{border-top:1px solid var(--border);background:#f7f5f0}

.related-services>h2{max-width:760px;font-size:clamp(40px,5vw,62px)}

.related-services>div{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,1fr);margin-top:42px;display:grid}

.related-services a{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff;flex-direction:column;min-height:175px;padding:26px;display:flex}

.related-services a span{color:var(--brand-accent);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}

.related-services a strong{max-width:260px;margin-top:24px;font-family:Georgia,serif;font-size:23px;font-weight:400}

.related-services a svg{width:17px;color:var(--brand-accent);margin-top:auto}

.service-enquiry{border-top:1px solid var(--border);background:#f1ede5;grid-template-columns:.78fr 1.22fr;align-items:start;gap:clamp(50px,8vw,110px);display:grid}

.service-enquiry>div>h2{max-width:650px;font-size:clamp(42px,5vw,64px);line-height:1.04}

.service-enquiry>div>p{max-width:570px;color:var(--ink-soft);margin:24px 0;line-height:1.75}

.service-enquiry>.lead-form{border:1px solid var(--border);padding:clamp(30px,4vw,48px)}

.hub-content{max-width:1200px;margin:0 auto}

.hub-content article{border-bottom:1px solid var(--border);grid-template-columns:85px 1fr;gap:25px;min-height:220px;padding:42px 0;display:grid}

.hub-content article>span{color:var(--brand-accent);padding-top:8px;font-size:11px;font-weight:900}

.hub-content h2{margin:0;font-family:Georgia,serif;font-size:clamp(32px,4vw,49px);font-weight:400}

.hub-content p{max-width:800px;color:var(--ink-soft);margin:18px 0 0;line-height:1.78}

.legal-hero{min-height:380px;color:var(--brand-primary);background:#eae6dd}

.legal-hero>p{color:var(--ink-soft)}

.legal-content{max-width:980px}

.contact-page{grid-template-columns:.74fr 1.26fr;align-items:start;gap:70px;display:grid}

.contact-cards{border-top:1px solid var(--border);flex-direction:column;display:flex}

.contact-cards a{border-bottom:1px solid var(--border);align-items:center;gap:18px;min-height:105px;padding:20px 0;display:flex}

.contact-cards svg{width:23px;color:var(--brand-accent);flex:none}

.contact-cards span{color:var(--ink-soft);font-size:12px;line-height:1.5}

.contact-cards strong{color:var(--brand-primary);font-family:Georgia,serif;font-size:21px;font-weight:400;display:block}

.quote-layout{grid-template-columns:1.25fr .75fr;align-items:start;gap:60px;display:grid}

.quote-aside{color:var(--brand-primary);border:1px solid var(--border);background:#f3eee4;padding:40px}

.quote-aside h2{font-size:38px}

.quote-aside>a,.quote-aside>span{border-bottom:1px solid var(--border);align-items:center;gap:14px;min-height:83px;display:flex}

.quote-aside>a>svg,.quote-aside>span>svg{width:20px;color:var(--gold-light);flex:none}

.quote-aside>a span,.quote-aside>span span{color:var(--ink-soft);font-size:11px;line-height:1.5}

.quote-aside strong{color:var(--brand-primary);font-family:Georgia,serif;font-size:18px;font-weight:400;display:block}

.quote-aside ul{margin:30px 0 0;padding:0;list-style:none}

.quote-aside li{color:var(--ink-soft);align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}

.quote-aside li svg{width:15px;color:var(--gold-light)}

.not-found .button{color:var(--navy-deep);margin-top:25px}

.lead-form{background:var(--white);border:1px solid var(--border);padding:clamp(28px,4vw,48px)}

.form-heading h2{font-size:clamp(36px,4vw,52px)}

.form-heading>p{max-width:670px;color:var(--ink-soft);margin:15px 0 32px;line-height:1.7}

.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}

.form-grid label,.checker-step>label,.checker-capture label,.admin-section label,.admin-login label{flex-direction:column;gap:7px;display:flex}

.form-grid label>span,.checker-step label>span,.checker-capture label>span,.admin-section label>span,.admin-login label>span{font-size:11px;font-weight:800}

.field-wide{grid-column:1/-1}

.form-grid input,.form-grid textarea,.form-grid select,.checker-step input,.checker-capture input,.admin-section input,.admin-section textarea,.admin-login input,.admin-service-list input,.admin-service-list textarea{border:1px solid var(--input);width:100%;color:var(--brand-primary);background:#fff;border-radius:2px}

.form-grid input,.form-grid select,.checker-step input,.checker-capture input,.admin-section input,.admin-login input,.admin-service-list input{height:47px;padding:0 12px}

.form-grid textarea,.admin-section textarea,.admin-service-list textarea{resize:vertical;padding:12px}

.consent-field{color:var(--ink-soft);align-items:flex-start;margin:22px 0;font-size:11px;line-height:1.5;flex-direction:row!important;gap:10px!important;display:flex!important}

.consent-field input{width:17px;height:17px;accent-color:var(--brand-primary);flex:none}

.honeypot{width:1px!important;height:1px!important;position:absolute!important;left:-10000px!important;overflow:hidden!important}

.form-submit{color:var(--navy-deep)}

.form-assurance{color:#6e787f;align-items:center;gap:7px;margin:15px 0 0;font-size:10px;display:flex}

.form-assurance svg{width:14px}

.form-error{color:#a02121;font-size:12px}

.form-success{color:#163d27;background:#e5efe8;flex-direction:column;justify-content:center;min-height:330px;padding:45px;display:flex}

.form-success>svg{width:40px;height:40px}

.form-success h3{margin:24px 0 8px;font-family:Georgia,serif;font-size:33px;font-weight:400}

.form-success p{line-height:1.7}

.lead-form-compact{border:0;padding:0}

.lead-form-compact .form-heading h2{font-size:36px}

.lead-form-compact .form-grid{grid-template-columns:1fr}

.lead-form-compact .field-wide{grid-column:auto}

@keyframes spin{to{transform:rotate(360deg)}}

.checker-page{background:#eae6dd}

.checker-card{z-index:3;background:var(--white);max-width:1050px;margin:-120px auto 0;position:relative;box-shadow:0 30px 80px #031a3329}

.checker-progress{background:#d8d3ca;grid-template-columns:repeat(4,1fr);gap:2px;height:8px;display:grid}

.checker-progress span{text-indent:-9999px;background:#d8d3ca;height:8px;overflow:hidden}

.checker-progress span.active{background:var(--brand-accent)}

.checker-step,.checker-result{min-height:570px;padding:clamp(35px,6vw,70px)}

.checker-step h2,.checker-result h2{max-width:800px;font-size:clamp(39px,5vw,60px)}

.checker-step>p,.checker-result>p{max-width:760px;color:var(--ink-soft);line-height:1.7}

.checker-step>label{max-width:430px;margin-top:32px}

.choice-field{border:0;margin:32px 0 0;padding:0}

.choice-field legend{margin-bottom:13px;font-size:12px;font-weight:850}

.choice-field>div{flex-wrap:wrap;gap:9px;display:flex}

.choice-field label{position:relative}

.choice-field input{opacity:0;pointer-events:none;position:absolute}

.choice-field span{border:1px solid var(--border);cursor:pointer;background:#f6f4ef;align-items:center;min-height:43px;padding:0 16px;font-size:12px;font-weight:750;display:flex}

.choice-field label.selected span{border-color:var(--brand-accent);color:var(--navy-deep);background:#f4e6c9}

.checker-actions{border-top:1px solid var(--border);background:#f8f6f2;justify-content:space-between;align-items:center;min-height:80px;padding:15px clamp(25px,6vw,70px);display:flex}

.checker-actions button{cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:12px;font-weight:850;display:flex}

.checker-actions button.button-primary{background:var(--brand-accent)}

.checker-actions svg{width:15px}

.checker-result>svg{width:46px;height:46px;margin-bottom:25px}

.checker-disclaimer{border-left:3px solid var(--brand-accent);background:#f0ede6;padding:16px;font-size:11px}

.checker-capture{border-top:1px solid var(--border);margin-top:35px;padding-top:30px}

.checker-capture h3{margin:0 0 17px;font-family:Georgia,serif;font-size:25px;font-weight:400}

.checker-capture>div{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}

.checker-captured{background:#e4eee7;grid-template-columns:28px 1fr;gap:4px 12px;margin-top:32px;padding:22px;display:grid}

.checker-captured svg{color:#33845a;grid-row:span 2;width:25px}

.checker-captured span{font-size:12px}

.site-footer{color:var(--brand-primary);border-top:1px solid var(--border);background:#fff;grid-template-columns:1.35fr .75fr .75fr 1.15fr;gap:55px;padding:72px clamp(20px,5vw,76px) 35px;display:grid}

.footer-brand img{object-fit:contain;filter:none;width:190px;height:190px;margin:-45px 0 -25px}

.footer-brand>p{max-width:370px;color:var(--ink-soft);font-size:13px;line-height:1.7}

.site-footer h2{color:var(--gold-light);letter-spacing:.15em;text-transform:uppercase;margin:0 0 20px;font-size:10px;font-weight:900}

.site-footer>div:not(.footer-brand):not(.footer-bottom){flex-direction:column;align-items:flex-start;gap:13px;display:flex}

.site-footer>div>a{color:var(--brand-primary);font-size:12px}

.footer-contact>a,.footer-contact>span{color:var(--ink-soft);gap:9px;font-size:11px;line-height:1.55;display:flex}

.footer-contact svg{width:15px;color:var(--gold-light);flex:none}

.social-links{flex-wrap:wrap;gap:7px;display:flex}

.social-links>a,.social-links>span{width:35px;height:35px;color:var(--brand-primary);border:1px solid #06264a47;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:900;display:inline-flex}

.social-links>a:hover{background:var(--brand-accent);color:var(--navy-deep)}

.social-unconfigured{opacity:.42;border-style:dashed!important}

.footer-bottom{border-top:1px solid var(--border);color:#76828a;grid-column:1/-1;justify-content:space-between;gap:30px;margin-top:20px;padding-top:28px;font-size:10px;display:flex}

.footer-bottom nav{flex-wrap:wrap;gap:18px;display:flex}

.contact-dock{z-index:60;background:var(--white);border-top:1px solid #c9c0b3;grid-template-columns:auto auto 1fr auto;align-items:stretch;min-height:58px;padding:0 clamp(14px,3vw,42px);display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #031a331a}

.contact-dock>a,.contact-dock>button{border:0;border-right:1px solid var(--border);min-width:0;color:var(--brand-primary);cursor:pointer;background:0 0;align-items:center;gap:8px;padding:0 18px;font-size:11px;font-weight:800;display:flex}

.contact-dock>* svg{width:16px;color:var(--brand-accent);flex:none}

.contact-dock .dock-chat{background:var(--brand-primary);color:#fff;border:0;justify-content:center;margin:7px 0 7px 14px;padding:0 20px}

.contact-dock .dock-chat svg{color:var(--gold-light)}

.cookie-banner{z-index:70;background:var(--white);border:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:22px;width:min(680px,100% - 32px);padding:20px;display:grid;position:fixed;bottom:75px;left:16px;box-shadow:0 20px 60px #031a3333}

.cookie-banner strong{font-family:Georgia,serif;font-size:20px;font-weight:400}

.cookie-banner p{color:var(--ink-soft);margin:6px 0 0;font-size:11px;line-height:1.6}

.cookie-actions{gap:7px;display:flex}

.cookie-actions button{border:1px solid var(--border);cursor:pointer;background:#f1eee8;min-height:40px;padding:0 13px;font-size:11px;font-weight:800}

.cookie-actions button.button-primary{border-color:var(--brand-accent);background:var(--brand-accent)}

.cookie-settings-link{z-index:59;color:#6e7780;cursor:pointer;background:0 0;border:0;font-size:9px;text-decoration:underline;position:fixed;bottom:18px;right:170px}

.admin-sidebar nav button.active{color:var(--gold-light);background:#bd8a2c2e}

.admin-workspace>header .kicker{margin-bottom:6px}

.admin-workspace .button-primary{color:var(--navy-deep)}

.service-admin-head{color:#6f7b84;text-transform:uppercase;justify-content:space-between;gap:15px;font-size:10px;display:flex}

.service-admin-head label{align-items:center;gap:7px;display:flex}

.service-admin-head input{accent-color:var(--brand-primary)}

.lead-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px;display:grid}

.lead-summary div{background:#fff;border:1px solid #ded9d0;flex-direction:column;padding:24px;display:flex}

.lead-summary strong{font-family:Georgia,serif;font-size:36px;font-weight:400}

.lead-summary span{color:#6f7b84;font-size:11px}

@media (max-width:1180px){.desktop-nav{display:none}.menu-button{display:inline-flex!important}.hero-shell{grid-template-columns:1fr}.hero-visual{min-height:520px}.hero-visual:after{background:linear-gradient(0deg, var(--brand-primary) 0, transparent 38%)}.trust-strip,.service-grid{grid-template-columns:repeat(2,1fr)}.section-heading{grid-template-columns:1fr;gap:24px}.process-list{grid-template-columns:repeat(3,1fr)}.process-list li{border-bottom:1px solid var(--border)}.catalogue-group>div{grid-template-columns:repeat(2,1fr)}.dock-address{display:none!important}.contact-dock{grid-template-columns:1fr 1fr auto}.site-footer{grid-template-columns:1.2fr .8fr .8fr}.footer-contact{grid-column:1/-1}.cookie-settings-link{right:165px}}

@media (max-width:850px){body:has(.site-frame){padding-bottom:64px}.announcement{justify-content:space-between;font-size:10px}.announcement>span{max-width:58%}.site-header{height:78px}.brand{width:140px;height:72px}.brand img{width:138px;height:138px}.header-cta{display:none}.hero-copy{padding:70px 22px 56px}.hero-copy h1{font-size:clamp(48px,13vw,72px)}.hero-actions{flex-direction:column;align-items:stretch}.hero-visual{min-height:390px}.hero-logo-card{width:105px;height:105px;top:17px;right:17px}.hero-note{width:auto;bottom:20px;left:20px;right:20px}.intro-strip{grid-template-columns:1fr;gap:15px}.intro-strip>div{grid-template-columns:1fr}.intro-strip a{border-left:0;border-top:1px solid var(--border);padding:0}.trust-strip{grid-template-columns:1fr 1fr;padding:0}.checker-promo,.research-section,.service-detail,.contact-page,.quote-layout,.home-assessment,.service-sources,.service-enquiry,.checker-diagram{grid-template-columns:1fr}.checker-diagram svg{justify-self:center;transform:rotate(90deg)}.owner-paths,.process-list{grid-template-columns:1fr}.process-list li{grid-template-columns:45px 1fr;gap:10px;min-height:180px;display:grid}.process-list h3{margin:0 0 10px}.project-grid{grid-template-columns:1fr 1fr}.catalogue-group>div,.detail-panels,.service-process>ol,.related-services>div{grid-template-columns:1fr}.deliverables-card{position:static}.checker-card{margin-top:-70px}.checker-capture>div{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr 1fr}.footer-brand,.footer-contact{grid-column:1/-1}.footer-bottom{flex-direction:column}}

@media (max-width:600px){.section{padding:68px 18px}.announcement{min-height:42px;padding:7px 13px}.announcement-link{text-align:right}.site-header{padding:0 14px}.service-grid{grid-template-columns:1fr}.service-card{min-height:330px}.trust-strip{grid-template-columns:1fr}.trust-strip article{border-right:0;border-bottom:1px solid var(--border);min-height:100px}.checker-promo,.research-section{gap:45px}.project-grid{grid-template-columns:1fr}.final-cta{flex-direction:column;align-items:flex-start}.page-hero{min-height:410px;padding:75px 20px}.page-hero h1{font-size:clamp(46px,14vw,66px)}.catalogue-group>header{grid-template-columns:1fr}.service-detail{padding-left:18px;padding-right:18px}.deliverables-card{padding:30px 24px}.hub-content article{grid-template-columns:42px 1fr;gap:12px}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.checker-step,.checker-result{padding:34px 22px}.checker-actions{padding:14px 18px}.contact-dock{grid-template-columns:1fr 1fr 1fr;min-height:64px;padding:0}.contact-dock>a,.contact-dock>button,.contact-dock .dock-chat{border-right:1px solid var(--border);flex-direction:column;justify-content:center;gap:2px;margin:0;padding:5px 4px;font-size:9px}.contact-dock>a:nth-child(2) span{font-size:0}.contact-dock>a:nth-child(2) span:after{content:"Email";font-size:9px}.cookie-banner{grid-template-columns:1fr;bottom:75px}.cookie-actions{flex-direction:column}.cookie-settings-link{background:#fff;padding:5px;bottom:67px;right:9px}.site-footer{grid-template-columns:1fr;padding-left:20px;padding-right:20px}.footer-brand,.footer-contact{grid-column:auto}.lead-summary{grid-template-columns:1fr}}

@keyframes pulse{50%{opacity:.5}}

@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}

@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}

@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}}

@keyframes accordion-up{0%{height:var(--radix-accordion-content-height,var(--accordion-panel-height,auto))}to{height:0}}

@keyframes caret-blink{0%,70%,to{opacity:1}20%,50%{opacity:0}}

@keyframes scroll-fade-reveal-b{0%{--scroll-fade-b:var(--_scroll-fade-size-b,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-b:0px}}

@keyframes scroll-fade-reveal-s{0%{--scroll-fade-s:0px}to{--scroll-fade-s:var(--_scroll-fade-size-s,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}}

@keyframes scroll-fade-reveal-e{0%{--scroll-fade-e:var(--_scroll-fade-size-e,var(--scroll-fade-size,min(12%, calc(var(--spacing) * 10))))}to{--scroll-fade-e:0px}}

@keyframes tw-shimmer{0%{background-position:100% 0}to{background-position:0 0}}

/* Client behaviour states */
html:not(.js) .cookie-banner{display:none}
.cookie-banner[hidden],.cookie-settings-link[hidden]{display:none}
.drawer-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#031a3357;position:fixed;inset:0}
.drawer-panel{position:absolute;top:0;bottom:0;right:0;box-shadow:-20px 0 60px #031a332e}
.drawer-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding:8px 8px 18px;display:flex}
.drawer-panel>header div{gap:3px;display:grid}
.drawer-panel>header strong{color:var(--brand-primary);font-family:Georgia,serif;font-size:21px}
.drawer-panel>header span{color:var(--muted);font-size:12px}
.drawer-close{border:1px solid var(--border);width:40px;height:40px;color:var(--brand-primary);cursor:pointer;background:#fff;justify-content:center;align-items:center;display:inline-flex}
.drawer-close svg{width:18px}
.chat-sheet{overflow-y:auto;background:var(--white);width:min(520px,94vw);max-width:none;padding:22px}
.chat-sheet-body{padding:5px 16px 28px}
.chat-sheet:focus,.mobile-menu:focus{outline:none}
.mobile-menu{background:var(--white);width:min(400px,88vw);padding:18px}
.mobile-menu nav{flex-direction:column;margin-top:20px;display:flex}
.mobile-menu nav>a{border-bottom:1px solid var(--border);align-items:center;min-height:56px;padding:0 10px;font-family:Georgia,serif;font-size:20px;display:flex}
.mobile-menu nav>a svg{width:16px;margin-left:auto}
.mobile-menu .mobile-menu-cta{background:var(--brand-primary);color:#fff;justify-content:center;margin-top:18px;padding:0 18px;font-family:inherit;font-size:14px;font-weight:800}
.spin{animation:spin 1s linear infinite}
.field-error{display:block;color:#a02121;font-size:12px;line-height:1.4}
.consent-field+.field-error{margin:-12px 0 18px}
.lead-form [aria-invalid="true"]:not([type=checkbox]){border-color:#a02121}
.consent-field [aria-invalid="true"]{outline:2px solid #a02121;outline-offset:2px}
.form-success:focus{outline:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spin{animation:none}}

/* Checker result tones (original palette) */
.result-green{border-top:8px solid #33845a}
.result-amber{border-top:8px solid #c68522}
.result-red{border-top:8px solid #a84237}
.result-green>svg{color:#33845a}
.result-amber>svg{color:#c68522}
.result-red>svg{color:#a84237}

/* Checker moves focus to each new step heading for screen readers; the programmatic focus shows no ring */
.checker-step h2:focus,.checker-result h2:focus{outline:none}
