    :root {
      --ink: #0f1418;
      --ink-2: #171c22;
      --line: #2a323b;
      --accent: #f5c518;
      --accent-hover: #ffda4c;
      --cream: #f2f1ec;
      --paper: #fff;
      --light-line: #dad8cf;
      --text: #eceef0;
      --muted: #abb4bc;
      --dark-text: #141a1f;
      --dark-muted: #59636c;
      --hint-size: .8rem;
      --hint-leading: 1.25;
      --page-width: 1320px;
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 95px; }
    body { margin: 0; background: var(--ink); color: var(--text); font-family: 'Poppins', system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
    .crl-home-v2 { background: var(--ink); color: var(--text); }
    button, input, textarea { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button { cursor: pointer; }
    a { color: inherit; text-decoration: none; }
    p, h1, h2, h3 { margin: 0; }
    .crl-home-v2 h1, .crl-home-v2 h2, .crl-home-v2 h3 { text-align: left; opacity: 1; }
    button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
    [hidden] { display: none !important; }
    .wrap { width: min(100%, var(--page-width)); padding-inline: 42px; margin-inline: auto; }
    .icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; flex: none; }
    .eyebrow { font-size: 11px; letter-spacing: .17em; text-transform: uppercase; font-weight: 700; color: var(--accent); line-height: 1.4; }
    .btn { display: inline-flex; justify-content: center; align-items: center; gap: 13px; min-height: 46px; border: 0; border-radius: 100px; padding: 13px 23px; background: var(--accent); color: var(--dark-text); font-weight: 750; font-size: 14px; line-height: 1.2; transition: background .16s, transform .16s; }
    .btn:hover { background: var(--accent-hover); transform: translateY(-1px); }
    .btn .icon { width: 18px; height: 18px; }
    .text-link { background: none; border: 0; padding: 0; color: inherit; text-decoration: underline; text-underline-offset: 4px; font-size: 13px; font-weight: 600; }
    .text-link:hover { text-decoration-thickness: 2px; }
    .skip { position: fixed; top: -70px; left: 20px; background: var(--accent); color: var(--ink); padding: 12px; z-index: 100; }
    .skip:focus { top: 10px; }
    .utility { border-bottom: 1px solid var(--line); background: #0b0f12; color: var(--muted); font-size: 11px; }
    .utility .wrap { min-height: 34px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
    .utility-right { display: flex; align-items: center; gap: 7px; }
    .utility .icon { width: 14px; height: 14px; color: var(--accent); }
    .site-header { border-bottom: 1px solid var(--line); position: relative; z-index: 20; background: var(--ink); }
    .header-row { display: flex; align-items: center; justify-content: space-between; gap: 25px; min-height: 82px; }
    .brand { display: inline-flex; flex-direction: column; gap: 6px; flex: none; }
    .brand-name { color: #fff; font-size: 24px; font-weight: 800; line-height: 1; letter-spacing: -.055em; }
    .brand-name span { color: var(--accent); }
    .brand-tag { color: var(--muted); font-size: 8px; font-weight: 600; line-height: 1; letter-spacing: .22em; text-transform: uppercase; }
    .main-nav { display: flex; align-items: center; gap: 23px; margin-left: auto; }
    .main-nav a { font-size: 13px; font-weight: 600; white-space: nowrap; }
    .main-nav a:hover { color: var(--accent); }
    .menu-toggle { display: none; color: white; background: transparent; border: 1px solid var(--line); border-radius: 8px; padding: 9px; }
    .hero { position: relative; isolation: isolate; overflow: hidden; }
    .hero-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 64% center; z-index: -3; }
    .hero::before { content: ''; position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(15,20,24,.98) 0%, rgba(15,20,24,.88) 29%, rgba(15,20,24,.47) 49%, rgba(15,20,24,.03) 76%), linear-gradient(0deg, rgba(15,20,24,.97), transparent 38%); }
    .hero-grid { position: relative; padding-top: 57px; padding-bottom: 38px; min-height: 610px; }
    .hero-copy { max-width: 620px; }
    .hero h1 { font-size: clamp(43px, 4.9vw, 69px); line-height: 1.01; font-weight: 800; letter-spacing: -.055em; color: #fff; margin: 17px 0 19px; }
    .hero h1 span { display: block; color: var(--accent); }
    .hero-lead { max-width: 475px; font-size: 17px; line-height: 1.55; color: #ccd1d6; }
    .finder { max-width: 590px; margin-top: 26px; color: var(--dark-text); }
    .finder-label { display: flex; align-items: center; gap: 9px; font-size: 15px; font-weight: 650; color: #fff; margin: 0 0 10px; }
    .finder-label .icon { color: var(--accent); width: 19px; height: 19px; }
    .finder-input { padding: 0; background: var(--paper); border: 1px solid rgba(255,255,255,.5); border-radius: 12px; overflow: hidden; box-shadow: 0 15px 36px rgba(0,0,0,.18); transition: box-shadow .15s; }
    .finder-input:focus-within { box-shadow: 0 0 0 3px rgba(245,197,24,.55), 0 15px 36px rgba(0,0,0,.18); }
    .finder textarea { display: block; border: 0; background: transparent; color: var(--dark-text); width: 100%; resize: vertical; padding: 18px 19px 8px; min-height: 91px; max-height: 180px; font-size: 16px; line-height: 1.45; border-radius: 12px; outline: none; }
    .finder textarea::placeholder { color: #7b838c; opacity: 1; }
    .finder-actions { display: flex; align-items: center; justify-content: space-between; padding: 7px 11px 11px 19px; gap: 12px; }
    .finder-hint { max-width: 200px; font-size: var(--hint-size); line-height: var(--hint-leading); color: var(--dark-muted); }
    .finder-actions .btn { padding: 13px 19px; white-space: nowrap; }
    .examples { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-top: 13px; color: #acb6bf; font-size: 12px; }
    .examples > span { margin-right: 1px; }
    .example { color: #d3d9de; border: 1px solid rgba(255,255,255,.21); border-radius: 100px; padding: 6px 11px; background: rgba(15,20,24,.35); font-size: 11.5px; }
    .example:hover { color: var(--accent); border-color: var(--accent); }
    .finder-bypass { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; font-size: 12px; color: #acb6bf; margin-top: 16px; }
    .finder-bypass .text-link { font-size: 12px; color: #e1e5e8; }
    .image-caption { position: absolute; right: 42px; bottom: 38px; display: flex; align-items: center; gap: 10px; font-size: 11px; color: #d3d6d8; letter-spacing: .06em; }
    .image-caption::before { content: ''; height: 1px; width: 30px; background: var(--accent); }
    .trust-band { position: relative; z-index: 2; border-top: 1px solid rgba(255,255,255,.17); }
    .trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); padding-block: 23px; }
    .trust-item { display: flex; gap: 14px; align-items: flex-start; padding-inline: 31px; border-right: 1px solid rgba(255,255,255,.14); }
    .trust-item:first-child { padding-left: 0; }
    .trust-item:last-child { border-right: 0; }
    .trust-item .icon { color: var(--accent); margin-top: 1px; }
    .trust-item b { display: block; font-size: 14px; font-weight: 650; color: #fff; margin-bottom: 5px; }
    .trust-item p { font-size: 12px; color: var(--muted); line-height: 1.35; }
    .section { padding-block: 65px; }
    .light { background: var(--cream); color: var(--dark-text); }
    .section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 31px; }
    .section .eyebrow { margin-bottom: 12px; }
    .light .eyebrow { color: #816200; }
    .section h2 { font-size: clamp(29px, 3vw, 41px); line-height: 1.08; letter-spacing: -.045em; font-weight: 800; }
    .section-heading > p { max-width: 330px; color: var(--dark-muted); font-size: 14px; line-height: 1.5; }
    .problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
    .problem { position: relative; display: flex; align-items: center; gap: 14px; text-align: left; color: var(--dark-text); border: 1px solid var(--light-line); background: rgba(255,255,255,.45); border-radius: 5px; min-height: 102px; padding: 20px; transition: background .15s, border-color .15s; }
    .problem:hover { background: white; border-color: #b5a260; }
    .problem > .icon:first-child { width: 28px; height: 28px; color: #64604c; }
    .problem b { display: block; font-size: 15px; font-weight: 650; margin-bottom: 5px; }
    .problem small { display: block; font-size: 12px; color: var(--dark-muted); line-height: 1.3; }
    .problem .arrow { width: 17px; height: 17px; margin-left: auto; color: #7b7d78; }
    .process { border-bottom: 1px solid var(--line); }
    .process-head { display: flex; justify-content: space-between; align-items: end; gap: 25px; }
    .process-head p:not(.eyebrow) { color: var(--muted); max-width: 360px; font-size: 15px; line-height: 1.5; }
    .process-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 37px; }
    .process-step { padding-right: 48px; }
    .step-no { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; color: var(--accent); border: 1px solid #756322; border-radius: 50%; font-size: 13px; font-weight: 700; margin-bottom: 17px; }
    .process-step h3 { font-size: 19px; font-weight: 650; letter-spacing: -.025em; margin-bottom: 9px; }
    .process-step p { color: var(--muted); font-size: 14px; line-height: 1.5; }
    .coverage { border-bottom: 1px solid var(--line); }
    .coverage .wrap { display: flex; align-items: center; gap: 35px; padding-block: 26px; }
    .coverage-label { display: flex; align-items: center; gap: 9px; color: var(--accent); font-size: 12px; font-weight: 650; white-space: nowrap; }
    .coverage-cities { display: flex; gap: 18px; flex-wrap: wrap; color: #c2c8cd; font-size: 12px; }
    .coverage .text-link { font-size: 12px; margin-left: auto; white-space: nowrap; }
    .site-footer .wrap { padding-top: 29px; padding-bottom: 108px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
    .site-footer p { color: var(--muted); font-size: 11px; line-height: 1.45; }
    .result { border-radius: 12px; background: var(--paper); border: 1px solid var(--light-line); padding: 23px; box-shadow: 0 14px 40px rgba(0,0,0,.2); }
    .result-kicker { display: flex; gap: 8px; align-items: center; color: #706029; text-transform: uppercase; letter-spacing: .1em; font-size: 10px; font-weight: 750; margin-bottom: 11px; }
    .result-kicker .icon { width: 16px; height: 16px; }
    .result h2 { font-size: 25px; font-weight: 800; line-height: 1.1; letter-spacing: -.035em; }
    .result-description { color: var(--dark-muted); font-size: 14px; line-height: 1.45; margin-top: 11px; }
    .result-buttons { display: flex; gap: 15px; align-items: center; flex-wrap: wrap; margin-top: 18px; }
    .result-buttons .text-link { font-size: 12px; color: var(--dark-muted); }
    .result-alternative { border-top: 1px solid var(--light-line); margin-top: 18px; padding-top: 13px; font-size: 12px; color: var(--dark-muted); line-height: 1.4; }
    .result-alternative button { margin-left: 5px; color: var(--dark-text); font-size: 12px; }
    .result .edit { display: inline-block; margin-top: 16px; color: var(--dark-muted); font-size: 12px; }
    .finder-suggestions { display: grid; gap: 12px; margin-top: 20px; }
    .finder-suggestion { display: grid; gap: 8px; border: 1px solid var(--light-line); border-radius: 7px; background: #fafaf7; padding: 17px; color: var(--dark-text); }
    .finder-suggestion > strong { font-size: 17px; line-height: 1.25; }
    .finder-suggestion > span { color: var(--dark-muted); font-size: 13px; line-height: 1.4; }
    .finder-suggestion > b { color: var(--dark-text); font-size: 13px; line-height: 1.3; text-decoration: underline; text-underline-offset: 4px; }
    .finder-suggestion-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 15px; margin-top: 5px; }
    .finder-suggestion-actions .btn { min-height: 40px; padding: 10px 16px; font-size: 12px; }
    .finder-status { margin-top: 14px; border-left: 3px solid #a04832; padding: 10px 12px; background: #fff1ed; color: #692716; font-size: 13px; line-height: 1.35; }
    .finder-safety { margin-top: 14px; border-left: 3px solid #b46820; padding: 10px 12px; background: #fff5e8; color: #66350b; font-size: 13px; line-height: 1.35; }
    .enquiry-summary { background: var(--cream); border-left: 2px solid var(--accent); padding: 11px 14px; margin: 16px 0; }
    .enquiry-summary strong { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .09em; margin-bottom: 5px; color: var(--dark-muted); }
    .enquiry-summary p { font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
    .enquiry-label { display: block; color: var(--dark-text); font-size: 13px; font-weight: 650; margin-bottom: 7px; }
    .enquiry-input { min-height: 44px; width: 100%; border: 1px solid var(--light-line); padding: 11px 13px; border-radius: 6px; background: #fafaf7; font-size: 16px; }
    .result .finder-hint { max-width: none; margin-top: 7px; }
    .prototype-note { margin-top: 15px; font-size: 11px; color: #746b57; line-height: 1.35; }
    dialog { border: 1px solid var(--light-line); border-radius: 12px; padding: 28px; max-width: 500px; width: calc(100% - 32px); color: var(--dark-text); background: var(--paper); }
    dialog::backdrop { background: rgba(0,0,0,.72); }
    dialog h2 { font-size: 28px; letter-spacing: -.04em; }
    dialog p { font-size: 15px; line-height: 1.5; color: var(--dark-muted); margin: 15px 0 24px; }
    .card-intro { display: none; }
    .crl-home-v2 .hero-grid { display: grid; grid-template-columns: 1fr 510px; gap: 72px; align-items: center; min-height: 585px; padding-block: 65px; }
    .crl-home-v2 .hero-copy { max-width: 510px; }
    .crl-home-v2 .hero h1 { font-size: clamp(45px, 4.5vw, 63px); }
    .crl-home-v2 .hero::before { background: linear-gradient(90deg, rgba(15,20,24,.98), rgba(15,20,24,.7) 45%, rgba(15,20,24,.32)), linear-gradient(0deg, var(--ink), transparent 70%); }
    .crl-home-v2 .finder { width: 100%; margin: 0; padding: 25px; background: var(--cream); border-radius: 9px; border-top: 3px solid var(--accent); box-shadow: 0 20px 60px rgba(0,0,0,.25); }
    .crl-home-v2 .finder-label { color: var(--dark-text); font-size: 15px; }
    .crl-home-v2 .finder-label .icon { color: #92750b; }
    .crl-home-v2 .card-intro { display: block; font-size: 25px; line-height: 1.1; letter-spacing: -.035em; font-weight: 800; margin-bottom: 19px; }
    .crl-home-v2 .finder-input { box-shadow: none; border: 1px solid var(--light-line); }
    .crl-home-v2 .finder-actions { flex-direction: column; align-items: stretch; padding: 4px 12px 12px; }
    .crl-home-v2 .finder-hint { max-width: none; padding-inline: 7px; }
    .crl-home-v2 .examples, .crl-home-v2 .finder-bypass { color: var(--dark-muted); }
    .crl-home-v2 .example { color: var(--dark-text); background: transparent; border-color: #c8c5ba; }
    .crl-home-v2 .finder-bypass .text-link { color: var(--dark-text); }
    .crl-home-v2 .result { padding: 0; border: 0; box-shadow: none; background: transparent; }
    .crl-home-v2 .image-caption { display: none; }
    @media (min-width: 1600px) { .hero-grid { min-height: 650px; padding-top: 72px; } }
    @media (max-width: 1150px) {
      .main-nav { gap: 16px; }
      .main-nav a { font-size: 12px; }
      .main-nav a:nth-last-child(-n+2) { display: none; }
      .header-row { gap: 20px; }
      .crl-home-v2 .hero-grid { grid-template-columns: 1fr 440px; gap: 32px; }
      .image-caption { display: none; }
      .coverage .wrap { flex-wrap: wrap; gap: 20px; }
      .coverage .text-link { margin-left: 0; }
    }
    @media (max-width: 900px) {
      .wrap { padding-inline: 25px; }
      .main-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: var(--ink-2); padding: 25px; border-bottom: 1px solid var(--line); }
      .main-nav.open { display: flex; flex-wrap: wrap; }
      .main-nav a:nth-last-child(-n+2) { display: inline; }
      .menu-toggle { display: inline-flex; }
      .header-row > .btn { margin-left: auto; }
      .hero-grid { min-height: auto; padding-top: 47px; padding-bottom: 35px; }
      .hero-copy { max-width: 550px; }
      .hero h1 { font-size: 60px; }
      .hero::before { background: linear-gradient(90deg, rgba(15,20,24,.96), rgba(15,20,24,.78) 50%, rgba(15,20,24,.2)), linear-gradient(0deg, var(--ink), transparent 60%); }
      .problem-grid { grid-template-columns: 1fr 1fr; }
      .trust-item { padding-inline: 18px; gap: 10px; }
      .trust-item b { font-size: 13px; }
      .trust-item p { font-size: 11px; }
      .process-step { padding-right: 23px; }
      .crl-home-v2 .hero-grid { grid-template-columns: 1fr; gap: 28px; padding-block: 40px; }
      .crl-home-v2 .finder { max-width: 600px; }
      .crl-home-v2 .hero-copy { max-width: 650px; }
      .crl-home-v2 .hero h1 span { display: inline; }
    }
    @media (max-width: 600px) {
      .wrap { padding-inline: 20px; }
      html { scroll-padding-top: 20px; }
      .utility .wrap { min-height: 29px; }
      .utility { font-size: 10px; }
      .utility-right { display: none; }
      .header-row { min-height: 72px; gap: 11px; }
      .brand-name { font-size: 22px; }
      .brand-tag { font-size: 7px; }
      .header-row > .btn { display: none; }
      .hero-image { object-position: 69% center; opacity: .52; }
      .hero::before { background: linear-gradient(90deg, rgba(15,20,24,.87), rgba(15,20,24,.58)), linear-gradient(0deg, var(--ink), transparent 80%); }
      .hero-grid { padding-top: 34px; padding-bottom: 27px; }
      .hero h1 { font-size: clamp(31px, 10vw, 58px); margin-top: 15px; margin-bottom: 17px; }
      .eyebrow { font-size: 9px; letter-spacing: .15em; }
      .hero-lead { font-size: 15px; line-height: 1.5; max-width: 360px; }
      .finder { margin-top: 24px; }
      .finder-label { font-size: 14px; }
      .finder textarea { min-height: 98px; font-size: 16px; padding: 15px 15px 8px; }
      .finder-actions { flex-direction: column; align-items: stretch; padding: 4px 11px 11px; gap: 12px; }
      .finder-hint { max-width: none; padding-inline: 4px; }
      .finder-actions .btn { min-height: 46px; }
      .examples { gap: 6px; margin-top: 12px; }
      .examples > span { display: none; }
      .example { font-size: 10.5px; padding: 7px 10px; }
      .finder-bypass { font-size: 11px; }
      .finder-bypass .text-link { font-size: 11px; }
      .trust-grid { grid-template-columns: 1fr; padding-block: 8px; }
      .trust-item, .trust-item:first-child { border: 0; border-bottom: 1px solid rgba(255,255,255,.1); padding: 13px 0; gap: 12px; align-items: center; }
      .trust-item:last-child { border: 0; }
      .trust-item .icon { width: 18px; height: 18px; }
      .trust-item b { font-size: 12px; margin-bottom: 3px; }
      .trust-item p { font-size: 11px; }
      .section { padding-block: 42px; }
      .section-heading, .process-head { display: block; }
      .section-heading > p, .process-head > p { margin-top: 15px; font-size: 14px; }
      .problem-grid { grid-template-columns: 1fr; gap: 9px; }
      .problem { padding: 17px; min-height: 80px; }
      .process-grid { grid-template-columns: 1fr; gap: 24px; margin-top: 26px; }
      .process-step { display: grid; grid-template-columns: 32px 1fr; column-gap: 14px; padding: 0; }
      .step-no { grid-row: span 2; margin: 0; }
      .process-step h3 { margin-top: 4px; font-size: 18px; }
      .process-step p { grid-column: 2; }
      .coverage .wrap { gap: 17px; padding-block: 23px; }
      .coverage-cities { gap: 9px 17px; font-size: 11px; }
      .site-footer .wrap { display: block; }
      .site-footer p { margin-top: 16px; }
      .result { padding: 19px; }
      .result-buttons { gap: 13px; }
      .crl-home-v2 .hero-grid { padding-block: 34px; }
      .crl-home-v2 .hero h1 { font-size: clamp(31px, 10vw, 43px); }
      .crl-home-v2 .hero h1 span { display: block; }
      .crl-home-v2 .finder { padding: 20px; }
      .crl-home-v2 .finder-label { font-size: 13px; }
    }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; } }
:root { --section-gap: 76px; --surface-dark: #171c22; --footer-bg: #0e1416; --soft-gold: #f8f1d7; --review-bg: #e8e6de; --review-star: #8b6b08; --review-gap: 20px; }
.section { padding-block: var(--section-gap); }
.section-lead { margin-top: 23px; font-size: 16px; line-height: 1.6; color: var(--muted); max-width: 490px; }
.light .section-lead { color: var(--dark-muted); }
.section-lead + .btn { margin-top: 27px; }
.card-kicker { font-size: 10px; font-weight: 750; text-transform: uppercase; letter-spacing: .13em; color: #816200; line-height: 1.35; }
.section-footnote { margin-top: 23px; font-size: 13px; line-height: 1.4; color: var(--dark-muted); }
.section-footnote a { color: var(--dark-text); text-decoration: underline; text-underline-offset: 4px; margin-left: 5px; font-weight: 650; }
.device-band { background: var(--surface-dark); border-bottom: 1px solid var(--line); }
.device-band .wrap { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding-block: 22px; font-size: 12px; }
.device-band .wrap > span { color: var(--muted); }
.device-band .wrap > div { display: flex; align-items: center; flex-wrap: wrap; gap: 22px; font-weight: 600; }
.device-band div > span { color: #68717b; font-weight: 400; }
.device-band a:hover { color: var(--accent); }
.method-grid, .service-grid, .story-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.method-card { padding: 29px; border: 1px solid var(--light-line); background: #faf9f5; border-radius: 6px; display: flex; align-items: start; flex-direction: column; }
.method-icon { width: 46px; height: 46px; display: grid; place-items: center; background: var(--ink); color: var(--accent); border-radius: 9px; margin-bottom: 28px; }
.method-icon .icon { width: 25px; height: 25px; }
.method-card h3 { font-size: 23px; letter-spacing: -.035em; line-height: 1.12; margin: 9px 0 15px; }
.method-card > p:not(.card-kicker) { font-size: 14px; line-height: 1.5; color: var(--dark-muted); }
.method-card .method-detail { border-top: 1px solid var(--light-line); padding-top: 16px; margin-top: 20px; margin-bottom: 23px; width: 100%; }
.method-card .text-link { margin-top: auto; line-height: 1.4; text-align: left; }
.confidence { background: var(--surface-dark); }
.confidence-grid, .pricing-grid, .business-grid, .coverage-grid, .faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: center; }
.confidence-list { display: grid; gap: 0; }
.confidence-list article { display: flex; gap: 17px; border-bottom: 1px solid var(--line); padding: 20px 0; }
.confidence-list article:first-child { padding-top: 0; }
.confidence-list article:last-child { padding-bottom: 0; border: 0; }
.confidence-list .icon { color: var(--accent); margin-top: 1px; }
.confidence-list h3 { font-size: 17px; line-height: 1.2; font-weight: 650; letter-spacing: -.02em; margin-bottom: 9px; }
.confidence-list p { color: var(--muted); font-size: 14px; line-height: 1.45; }
.service-card { padding: 29px; background: white; border: 1px solid var(--light-line); border-top: 3px solid var(--accent); border-radius: 5px; display: flex; flex-direction: column; }
.service-card > .icon { width: 35px; height: 35px; margin-bottom: 25px; color: #5f6158; }
.service-card h3 { font-size: 24px; letter-spacing: -.04em; line-height: 1.1; margin-bottom: 12px; }
.service-card p { font-size: 14px; color: var(--dark-muted); line-height: 1.5; }
.service-card ul { list-style: none; padding: 0; margin: 22px 0; }
.service-card li { border-bottom: 1px solid var(--light-line); padding: 9px 0; font-size: 13px; line-height: 1.35; }
.service-card li:last-child { border-bottom: 0; }
.service-card > a { margin-top: auto; display: flex; justify-content: space-between; gap: 10px; font-size: 13px; font-weight: 700; padding-top: 8px; }
.service-card > a:hover { text-decoration: underline; text-underline-offset: 4px; }
.specialist-row { display: flex; justify-content: space-between; gap: 30px; align-items: center; border-bottom: 1px solid var(--light-line); padding-block: 28px 23px; }
.specialist-row b { font-size: 15px; }
.specialist-row p { color: var(--dark-muted); font-size: 13px; line-height: 1.4; margin-top: 6px; }
.specialist-row a { flex: none; }
.pricing { background: var(--ink); }
.pricing h2 { font-size: clamp(38px, 4vw, 56px); }
.cost-panel { background: var(--cream); color: var(--dark-text); padding: 32px; border-radius: 8px; }
.cost-panel h3 { font-size: 26px; line-height: 1.15; letter-spacing: -.04em; margin: 10px 0 23px; }
.cost-row { display: flex; gap: 18px; border-top: 1px solid var(--light-line); padding: 18px 0; }
.cost-row > span { font-size: 12px; padding-top: 2px; color: #8a710f; font-weight: 700; }
.cost-row b { font-size: 15px; }
.cost-row p { font-size: 13px; line-height: 1.4; color: var(--dark-muted); margin-top: 7px; }
.cost-note { display: flex; align-items: center; gap: 8px; padding-top: 18px; border-top: 1px solid var(--light-line); font-size: 12px; font-weight: 650; }
.cost-note .icon { width: 18px; height: 18px; color: #8a710f; }
.story-card { overflow: hidden; border: 1px solid var(--light-line); border-radius: 6px; background: white; display: flex; flex-direction: column; }
.story-image { display: block; overflow: hidden; aspect-ratio: 4 / 3; background: #e3e3de; }
.story-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.story-body { padding: 25px; display: flex; flex-direction: column; flex: 1; }
.story-body h3 { font-size: 23px; letter-spacing: -.035em; line-height: 1.15; margin-top: 11px; margin-bottom: 15px; }
.story-body > p:not(.card-kicker) { color: var(--dark-muted); font-size: 14px; line-height: 1.5; margin-bottom: 25px; }
.story-body > a { margin-top: auto; line-height: 1.4; }
.customer-reviews { background: var(--review-bg); color: var(--dark-text); border-top: 1px solid var(--light-line); }
.customer-reviews .eyebrow { color: #816200; }
.reviews-intro { font-size: 13px; line-height: 1.35; color: var(--dark-muted); max-width: 680px; margin: -10px 0 26px; }
.customer-reviews .awd-reviews { --awd-gap: var(--review-gap) !important; --awd-accent: var(--accent) !important; --awd-card-bg: var(--cream) !important; --awd-text: var(--dark-text) !important; --awd-muted: var(--dark-muted) !important; --awd-border: var(--light-line) !important; --awd-radius: 8px !important; }
.customer-reviews .awd-review-card__source { color: var(--dark-muted); }
.customer-reviews .awd-reviews__arrow { width: 46px; height: 46px; background: transparent; }
.customer-reviews .awd-reviews__arrow:hover, .customer-reviews .awd-reviews__arrow:focus-visible { color: var(--dark-text); }
.business-section { background: var(--surface-dark); }
.business-grid { gap: 65px; }
.business-photo { position: relative; overflow: hidden; border-radius: 6px; aspect-ratio: 1.13; margin: 0; }
.business-photo img { width: 100%; height: 100%; object-fit: cover; }
.business-photo::after { content: ''; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(15,20,24,.88)); }
.business-photo > span { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 26px; color: #fff; font-size: 17px; max-width: 250px; line-height: 1.35; font-weight: 600; }
.tick-list { list-style: none; padding: 0; margin: 25px 0; }
.tick-list li { padding: 7px 0 7px 23px; position: relative; color: #ced3d8; font-size: 14px; line-height: 1.4; }
.tick-list li::before { content: '✓'; color: var(--accent); position: absolute; left: 0; }
.secondary-link { display: block; font-size: 12px; color: var(--muted); margin-top: 18px; text-decoration: underline; text-underline-offset: 4px; }
.coverage-section { background: #efeee8; }
.coverage-note { font-size: 13px; line-height: 1.45; color: var(--dark-muted); margin-top: 18px; margin-bottom: 27px; }
.london-links { display: flex; flex-wrap: wrap; gap: 12px 20px; margin-top: 22px; }
.london-links a { font-size: 12px; font-weight: 650; text-decoration: underline; text-underline-offset: 4px; line-height: 1.4; }
.city-grid .city-link:first-child { background: var(--soft-gold); border-color: #b8a24a; }
.city-panel { border: 1px solid var(--light-line); border-radius: 7px; background: white; padding: 30px; }
.city-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 22px 0 26px; gap: 10px; }
.city-grid .city-link { display: flex; justify-content: space-between; align-items: center; gap: 10px; min-height: 57px; padding: 17px 15px; border: 1px solid var(--light-line); background: #f8f7f2; border-radius: 4px; font-size: 14px; font-weight: 650; color: var(--dark-text); text-align: left; }
.city-grid .city-link span { color: #8c7b38; }
.city-grid .city-link:hover { background: var(--soft-gold); border-color: #b8a24a; }
.city-panel > p:not(.card-kicker):not(.city-footnote) { font-size: 15px; font-weight: 650; margin-bottom: 10px; }
.city-footnote { border-top: 1px solid var(--light-line); padding-top: 16px; margin-top: 24px; color: var(--dark-muted); font-size: 11px; line-height: 1.35; }
.faq-section { background: #fff; color: var(--dark-text); }
.faq-section .eyebrow { color: #816200; }
.faq-section .section-lead { color: var(--dark-muted); margin-bottom: 25px; }
.faq-grid { grid-template-columns: .8fr 1.2fr; align-items: start; gap: 90px; }
.faq-list { border-top: 1px solid var(--light-line); }
.faq-list details { border-bottom: 1px solid var(--light-line); }
.faq-list summary { position: relative; list-style: none; padding: 21px 29px 21px 0; font-size: 16px; line-height: 1.35; font-weight: 650; cursor: pointer; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: '+'; position: absolute; right: 0; top: 19px; color: #8e7730; font-size: 22px; font-weight: 400; }
.faq-list details[open] summary::after { content: '−'; }
.faq-list details p { margin: -2px 20px 21px 0; color: var(--dark-muted); font-size: 14px; line-height: 1.5; }
.faq-list details p a { text-decoration: underline; text-underline-offset: 3px; }
.final-cta { background: var(--accent); color: var(--dark-text); }
.final-cta .wrap { display: flex; justify-content: space-between; gap: 40px; align-items: center; padding-block: 48px; }
.final-cta .eyebrow { color: #5d4c10; margin-bottom: 12px; }
.final-cta h2 { font-size: clamp(30px, 3vw, 43px); line-height: 1.04; letter-spacing: -.05em; }
.final-cta p:not(.eyebrow) { color: #5b4e28; font-size: 14px; line-height: 1.5; margin-top: 14px; }
.final-cta .btn { background: var(--ink); color: #fff; padding: 16px 26px; }
.final-cta .btn:hover { background: #293039; }
.final-cta-action > span { display: block; color: #5b4e28; font-size: 11px; margin-top: 13px; text-align: center; }
.full-footer { position: relative; overflow: hidden; background: var(--footer-bg); color: var(--muted); border-top: 1px solid var(--line); }
.full-footer > .wrap { padding-top: 66px; padding-bottom: 26px; position: relative; }
.footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1.1fr 1.2fr; gap: 45px; }
.footer-brand > p { font-size: 15px; line-height: 1.6; max-width: 270px; margin: 25px 0 22px; }
.footer-review-badge { display: inline-flex; align-items: center; gap: 14px; width: 230px; max-width: 100%; min-height: 74px; padding: 13px 15px; margin-bottom: 25px; border: 1px solid var(--line); border-radius: 10px; background: var(--ink); }
.footer-review-badge:hover { border-color: var(--accent); }
.footer-review-score { color: var(--accent); font-size: 36px; font-weight: 800; line-height: 1; letter-spacing: -.045em; }
.footer-review-details { display: grid; gap: 6px; color: var(--muted); font-size: 12px; line-height: 1.25; }
.footer-review-stars { display: flex; align-items: center; gap: 3px; color: var(--accent); }
.footer-review-stars .icon { width: 13px; height: 13px; fill: currentColor; stroke-width: 1; }
.footer-reassurance { display: flex; gap: 10px; align-items: center; font-size: 12px; line-height: 1.3; }
.footer-reassurance .icon { width: 20px; height: 20px; }
.footer-grid h2 { color: #fff; font-size: 16px; font-weight: 700; line-height: 1.2; margin: 2px 0 26px; }
.full-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
.full-footer li a { font-size: 14px; line-height: 1.35; }
.full-footer a:hover { color: var(--accent); }
.footer-process ol { list-style: none; padding: 0; margin: 0; display: grid; gap: 25px; }
.footer-process li { display: flex; gap: 17px; align-items: flex-start; }
.footer-step { color: var(--accent); font-size: 12px; font-weight: 700; line-height: 1.5; }
.footer-process h3 { font-size: 15px; line-height: 1.3; font-weight: 650; color: var(--text); margin-bottom: 9px; }
.footer-process p { font-size: 13px; line-height: 1.35; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px 26px; margin-top: 56px; padding-top: 23px; border-top: 1px solid var(--line); font-size: 12px; line-height: 1.3; }
.footer-legal, .footer-engineers { display: flex; align-items: center; gap: 12px 20px; flex-wrap: wrap; }
.footer-engineers > span { font-size: 11px; color: var(--muted); }
.footer-engineers a { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; }
.footer-engineers .icon { width: 18px; height: 18px; }
.footer-legal a { display: inline-block; padding-block: 9px; }
.footer-preview-note { font-size: 10px; line-height: 1.3; color: #869099; margin-top: 20px; max-width: 960px; }
@media (max-width: 1100px) {
  .confidence-grid, .pricing-grid, .coverage-grid, .business-grid { gap: 40px; }
  .faq-grid { gap: 45px; }
  .device-band .wrap { flex-direction: column; align-items: flex-start; gap: 13px; }
  .method-card, .service-card { padding: 24px; }
  .footer-grid { gap: 28px; grid-template-columns: 1.1fr 1fr 1fr 1.1fr; }
  .footer-brand .brand-name { font-size: 21px; }
}
@media (max-width: 1000px) {
}
@media (max-width: 850px) {
  :root { --section-gap: 55px; }
  .confidence-grid, .pricing-grid, .coverage-grid, .faq-grid, .business-grid { grid-template-columns: 1fr; gap: 33px; }
  .section-heading { align-items: flex-start; }
  .method-grid, .service-grid { grid-template-columns: 1fr; gap: 14px; }
  .method-card { display: grid; grid-template-columns: 55px 1fr; gap: 0 20px; }
  .method-icon { grid-row: 1 / 6; margin-bottom: 0; }
  .method-card > p, .method-card > h3, .method-card > a { grid-column: 2; }
  .service-card { position: relative; padding-left: 86px; }
  .service-card > .icon { position: absolute; left: 25px; top: 28px; }
  .service-card ul { margin-block: 12px; }
  .story-grid { gap: 12px; }
  .story-body { padding: 19px; }
  .story-body h3 { font-size: 20px; }
  .business-photo { max-height: 400px; aspect-ratio: 1.8; }
  .footer-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand > p { max-width: 500px; }
  .footer-brand .brand-name { font-size: 24px; }
  .footer-engineers { flex-basis: 100%; border-top: 1px solid var(--line); padding-top: 14px; }
  .final-cta .wrap { align-items: flex-start; flex-direction: column; gap: 25px; }
}
@media (max-width: 600px) {
  :root { --section-gap: 43px; }
  .section-lead { font-size: 15px; margin-top: 19px; }
  .section-footnote { font-size: 12px; }
  .device-band .wrap { padding-block: 18px; font-size: 11px; }
  .device-band .wrap > div { gap: 10px 14px; }
  .device-band div > span { display: none; }
  .device-band a { padding-right: 13px; border-right: 1px solid var(--line); }
  .method-card { display: flex; padding: 23px; }
  .method-icon { margin-bottom: 20px; }
  .method-card h3 { font-size: 22px; }
  .method-card .method-detail { margin-top: 15px; margin-bottom: 20px; }
  .confidence-list h3 { font-size: 16px; }
  .confidence-list p { font-size: 13px; }
  .service-card { padding-left: 24px; padding-top: 23px; }
  .service-card > .icon { position: static; width: 28px; height: 28px; margin-bottom: 16px; }
  .specialist-row { flex-direction: column; align-items: flex-start; gap: 17px; }
  .cost-panel, .city-panel { padding: 24px; }
  .pricing h2 { font-size: 39px; }
  .story-grid { grid-template-columns: 1fr; gap: 20px; }
  .story-image { aspect-ratio: 1.65; }
  .story-body { padding: 24px; }
  .story-body h3 { font-size: 23px; }
  .customer-reviews .section-heading > .text-link, #repair-stories .section-heading > .text-link { display: inline-block; margin-top: 18px; }
  .business-photo { aspect-ratio: 1.25; }
  .city-grid { gap: 8px; }
  .city-grid button { min-height: 50px; padding: 12px 10px; font-size: 12px; }
  .faq-list summary { font-size: 15px; padding-block: 19px; }
  .faq-list details p { font-size: 13px; }
  .final-cta .wrap { padding-block: 35px; }
  .final-cta .btn { padding-inline: 20px; font-size: 13px; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 35px 23px; }
  .footer-process { grid-column: 1 / -1; }
  .full-footer > .wrap { padding-top: 43px; }
  .footer-bottom { margin-top: 34px; }
  .footer-copyright { flex-basis: 100%; }
  .footer-engineers { align-items: flex-start; gap: 4px; flex-direction: column; }
  .footer-engineers > span { margin-bottom: 7px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
