@theme {
  --color-primary: #163f2f;
  --color-primary-500: #163f2f;
  --color-secondary: #b68a34;
  --color-neutral: #16241f;
  --color-background: #f7f2e4;
  --font-sans: "DM Sans", sans-serif;
  --font-serif: "Bitter", serif;
  --font-mono: "Space Mono", monospace;
  --text-sm: .875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
}

:root {
  --ctc-ink:#16241f;
  --ctc-ink-70:rgba(22,36,31,.72);
  --ctc-ink-50:rgba(22,36,31,.52);
  --ctc-green:#163f2f;
  --ctc-green-2:#1c4d3a;
  --ctc-blue:#152f52;
  --ctc-paper:#f7f2e4;
  --ctc-paper-2:#efe7d3;
  --ctc-cream:#fffaf0;
  --ctc-gold:#b68a34;
  --ctc-gold-light:#d8b85f;
  --ctc-rust:#a73e2c;
  --ctc-line:rgba(22,36,31,.16);
  --ctc-green-line:rgba(239,231,211,.18);
  --ctc-shadow:0 24px 70px -30px rgba(15,30,24,.45);
  --ctc-sidebar:214px;
  --ctc-radius:8px;
}

*,:before,:after{box-sizing:border-box}
html{overflow-x:hidden}
body{margin:0;background:var(--ctc-paper);color:var(--ctc-ink);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.admin-bar .ctc-sidebar{top:32px}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
h1,h2,h3,h4,h5,h6{font-family:"Bitter",serif;line-height:1.08;letter-spacing:-.02em;margin:0}
p{margin:0}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute!important;width:1px;word-wrap:normal!important}
.ctc-skip{position:fixed;left:12px;top:-100px;background:#fff;color:#111;padding:12px 18px;z-index:9999;border-radius:4px}.ctc-skip:focus{top:12px}
.ctc-wrap{max-width:1180px;margin:0 auto;padding:0 36px}
.ctc-site-canvas{margin-left:var(--ctc-sidebar);min-height:100vh}
.ctc-section{padding:92px 0;position:relative}
.ctc-section-sm{padding:68px 0}
.ctc-section-dark{background:var(--ctc-green);color:var(--ctc-paper)}
.ctc-section-blue{background:var(--ctc-blue);color:var(--ctc-paper)}
.ctc-section-paper{background:var(--ctc-paper)}
.ctc-section-cream{background:var(--ctc-cream)}
.ctc-section-pattern{background-color:var(--ctc-green);background-image:linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.025) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.025) 75%);background-size:26px 26px;background-position:0 0,0 13px,13px -13px,-13px 0}
.ctc-eyebrow{display:inline-flex;align-items:center;gap:10px;font:700 11px/1 "Space Mono",monospace;letter-spacing:.09em;text-transform:uppercase;color:var(--ctc-rust)}
.ctc-eyebrow:before{content:"";width:8px;height:8px;background:currentColor;transform:rotate(45deg)}
.ctc-section-dark .ctc-eyebrow,.ctc-section-blue .ctc-eyebrow{color:var(--ctc-gold-light)}
.ctc-heading{font-size:clamp(30px,4vw,48px);margin-top:14px;max-width:800px}
.ctc-heading em{font-style:normal;color:var(--ctc-rust)}
.ctc-section-dark .ctc-heading em,.ctc-section-blue .ctc-heading em{color:var(--ctc-gold-light)}
.ctc-lede{font-size:17px;line-height:1.7;color:var(--ctc-ink-70);max-width:700px;margin-top:18px}
.ctc-section-dark .ctc-lede,.ctc-section-blue .ctc-lede{color:rgba(247,242,228,.76)}
.ctc-section-head{margin-bottom:46px}
.ctc-section-head.ctc-centred{text-align:center;margin-left:auto;margin-right:auto}.ctc-section-head.ctc-centred .ctc-heading,.ctc-section-head.ctc-centred .ctc-lede{margin-left:auto;margin-right:auto}
.ctc-rule-band{height:18px;border-top:1px solid var(--ctc-line);border-bottom:1px solid var(--ctc-line);background-color:var(--ctc-paper-2);background-image:linear-gradient(45deg,rgba(22,36,31,.06) 25%,transparent 25%),linear-gradient(-45deg,rgba(22,36,31,.06) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(22,36,31,.06) 75%),linear-gradient(-45deg,transparent 75%,rgba(22,36,31,.06) 75%);background-size:14px 14px;background-position:0 0,0 7px,7px -7px,-7px 0}
.ctc-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1.5px solid transparent;border-radius:999px;padding:14px 24px;font-weight:700;font-size:14px;transition:.22s ease;white-space:nowrap}
.ctc-btn:hover{transform:translateY(-2px)}
.ctc-btn-gold{background:var(--ctc-gold);color:#241a04;box-shadow:0 15px 28px -14px rgba(182,138,52,.75)}.ctc-btn-gold:hover{background:var(--ctc-gold-light)}
.ctc-btn-ink{background:var(--ctc-ink);color:var(--ctc-paper)}.ctc-btn-ink:hover{background:#0b1712}
.ctc-btn-ghost{background:transparent;border-color:currentColor;color:inherit}.ctc-btn-ghost:hover{background:var(--ctc-ink);border-color:var(--ctc-ink);color:#fff}
.ctc-section-dark .ctc-btn-ghost,.ctc-section-blue .ctc-btn-ghost{border-color:rgba(255,255,255,.4)}.ctc-section-dark .ctc-btn-ghost:hover,.ctc-section-blue .ctc-btn-ghost:hover{background:#fff;color:var(--ctc-ink)}
.ctc-text-link{display:inline-flex;gap:7px;align-items:center;margin-top:15px;font:700 12px/1.3 "Space Mono",monospace;color:var(--ctc-rust)}.ctc-text-link:hover{text-decoration:underline;text-underline-offset:4px}

/* Preloader */
.ctc-preloader{position:fixed;inset:0;z-index:1000;background:var(--ctc-green);display:grid;place-items:center;transition:opacity .5s ease,visibility .5s ease}.ctc-preloader.is-hidden{opacity:0;visibility:hidden}.ctc-preloader>div{text-align:center}.ctc-preloader img{width:200px;margin:auto}.ctc-preloader span{display:flex;justify-content:center;gap:9px;margin:24px 0 13px}.ctc-preloader i{width:9px;height:9px;background:var(--ctc-gold);transform:rotate(45deg);animation:ctcPulse 1s ease infinite}.ctc-preloader i:nth-child(2){animation-delay:.15s}.ctc-preloader i:nth-child(3){animation-delay:.3s}.ctc-preloader small{font:700 10px/1 "Space Mono",monospace;color:rgba(255,255,255,.65);letter-spacing:.1em;text-transform:uppercase}@keyframes ctcPulse{50%{opacity:.25;transform:rotate(45deg) scale(.65)}}

/* Navigation */
.ctc-sidebar{position:fixed;inset:0 auto 0 0;width:var(--ctc-sidebar);z-index:300;background:var(--ctc-green);color:var(--ctc-paper);padding:26px 20px 22px;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(255,255,255,.09)}
.ctc-logo{display:block;padding:2px 4px 30px}.ctc-logo img{width:184px}
.ctc-nav-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.ctc-nav-list>li>a,.ctc-services-nav>button{width:100%;display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border:0;background:transparent;color:rgba(255,250,240,.75);font-size:13px;font-weight:650;border-radius:5px;text-align:left}.ctc-nav-list>li>a:hover,.ctc-services-nav>button:hover,.ctc-services-nav.is-open>button{color:#fff;background:rgba(255,255,255,.08)}
.ctc-services-nav{position:relative}.ctc-services-nav>button span{color:var(--ctc-gold-light);font-size:18px}.ctc-service-flyout{position:absolute;left:calc(100% + 20px);top:-58px;width:620px;max-height:78vh;overflow:auto;padding:24px;background:#123526;color:#fff;border:1px solid rgba(255,255,255,.12);box-shadow:var(--ctc-shadow);opacity:0;visibility:hidden;transform:translateX(-10px);transition:.24s ease}.ctc-services-nav:hover .ctc-service-flyout,.ctc-services-nav:focus-within .ctc-service-flyout,.ctc-services-nav.is-open .ctc-service-flyout{opacity:1;visibility:visible;transform:none}.ctc-flyout-head{padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.13);margin-bottom:18px}.ctc-flyout-head small{display:block;color:var(--ctc-gold-light);font:700 10px "Space Mono",monospace;text-transform:uppercase;letter-spacing:.09em}.ctc-flyout-head strong{font:700 23px "Bitter",serif;display:block;margin-top:6px}.ctc-flyout-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ctc-flyout-grid a{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);font-size:12px;line-height:1.25}.ctc-flyout-grid a:hover{background:var(--ctc-gold);color:#241a04}.ctc-flyout-grid img{width:31px;height:31px;object-fit:contain}
.ctc-sidebar-bottom{padding-top:16px;border-top:1px solid rgba(255,255,255,.14)}.ctc-urgent-note{font:600 9px/1.5 "Space Mono",monospace;color:var(--ctc-gold-light);letter-spacing:.04em;margin-bottom:10px}.ctc-sidebar-quote{display:flex;justify-content:space-between;align-items:center;padding:13px 12px;background:var(--ctc-gold);color:#241a04;border-radius:4px;font-size:12px;font-weight:800}.ctc-sidebar-phone{display:block;padding:13px 10px 0}.ctc-sidebar-phone small{display:block;color:rgba(255,255,255,.5);font:700 9px "Space Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.ctc-sidebar-phone strong{display:block;margin-top:4px;font-size:14px}.ctc-mobile-header,.ctc-nav-scrim{display:none}

/* Hero systems */
.ctc-hero{position:relative;overflow:hidden;background:var(--ctc-paper);padding:94px 0 78px}.ctc-hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.72;background:radial-gradient(circle at 80% 20%,rgba(182,138,52,.16),transparent 35%),linear-gradient(135deg,transparent 0 70%,rgba(22,63,47,.045) 70%)}
.ctc-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}.ctc-hero-grid.is-reversed .ctc-hero-copy{order:2}.ctc-hero-grid.is-reversed .ctc-hero-media{order:1}.ctc-hero-stamp{display:inline-block;padding:8px 12px;border:1px solid var(--ctc-line);background:rgba(255,255,255,.48);font:700 10px "Space Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ctc-rust)}.ctc-hero h1{font-size:clamp(38px,5.3vw,66px);margin-top:18px;max-width:780px}.ctc-hero h1 em{font-style:normal;color:var(--ctc-rust);position:relative}.ctc-hero-sub{font-size:17px;line-height:1.7;color:var(--ctc-ink-70);max-width:650px;margin-top:20px}.ctc-page-intro p{margin:0 0 14px}.ctc-page-intro p:last-child{margin-bottom:0}.ctc-page-intro a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}.ctc-hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}.ctc-price{position:absolute;right:14px;bottom:14px;z-index:2;background:var(--ctc-gold);color:#241a04;padding:13px 16px;box-shadow:0 18px 35px -14px rgba(0,0,0,.6);font:700 12px "Space Mono",monospace}.ctc-price strong{font-size:20px;display:block;font-family:"Bitter",serif}.ctc-hero-media{position:relative;min-width:0}.ctc-film{position:relative;border:3px solid var(--ctc-gold);padding:8px;background:var(--ctc-green);box-shadow:var(--ctc-shadow);border-radius:8px}.ctc-film:before,.ctc-film:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:var(--ctc-gold);box-shadow:0 0 0 3px var(--ctc-paper)}.ctc-film:before{left:-5px;top:-5px}.ctc-film:after{right:-5px;bottom:-5px}.ctc-film-inner{overflow:hidden;aspect-ratio:3/4;border-radius:4px;background:#0d1b15}.ctc-film-inner video,.ctc-film-inner img{width:100%;height:100%;object-fit:cover}.ctc-hero-hub{padding-top:76px;text-align:center}.ctc-hero-hub .ctc-hero-copy{position:relative;max-width:920px;margin:auto}.ctc-hero-hub .ctc-hero-sub{margin-left:auto;margin-right:auto}.ctc-hero-hub .ctc-hero-actions{justify-content:center}.ctc-hero-hub .ctc-film{margin:42px auto 0;max-width:1040px}.ctc-hero-hub .ctc-film-inner{aspect-ratio:16/9}.ctc-crumbs{position:relative;padding:28px 0 0;font:700 10px "Space Mono",monospace;color:var(--ctc-ink-50);letter-spacing:.04em}.ctc-crumbs a{color:var(--ctc-rust)}
.ctc-scroll-strip{min-height:58px;display:flex;align-items:center;justify-content:center;background:var(--ctc-paper-2);border-top:1px solid var(--ctc-line);border-bottom:1px solid var(--ctc-line)}.ctc-scroll-strip a{font:700 9px "Space Mono",monospace;text-transform:uppercase;letter-spacing:.09em;color:var(--ctc-ink-50)}

/* Proof, cards and coverage */
.ctc-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ctc-line);border:1px solid var(--ctc-line)}.ctc-proof-grid article{background:var(--ctc-cream);padding:28px 24px}.ctc-proof-grid i{display:block;width:8px;height:8px;background:var(--ctc-rust);transform:rotate(45deg);margin-bottom:16px}.ctc-proof-grid h3{font-size:17px}.ctc-proof-grid p{margin-top:9px;color:var(--ctc-ink-70);font-size:13px;line-height:1.6}
.ctc-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.ctc-stat-grid article{padding:25px;border:1px solid var(--ctc-green-line);background:rgba(255,255,255,.035)}.ctc-stat-grid strong{display:block;font:700 clamp(28px,4vw,42px) "Bitter",serif;color:#fff}.ctc-stat-grid span{display:block;margin-top:6px;color:rgba(255,255,255,.6);font:700 10px "Space Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.ctc-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ctc-service-card{background:#fff;border:1px solid var(--ctc-line);min-width:0;transition:.25s ease}.ctc-service-card:hover{transform:translateY(-4px);box-shadow:var(--ctc-shadow);border-color:var(--ctc-ink)}.ctc-service-image{display:block;aspect-ratio:1.38/1;overflow:hidden;background:var(--ctc-paper-2)}.ctc-service-image img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.ctc-service-card:hover img{transform:scale(1.04)}.ctc-service-card>div{padding:22px}.ctc-service-card h3{font-size:19px}.ctc-service-card p{font-size:13px;line-height:1.6;color:var(--ctc-ink-70);margin-top:9px}
.ctc-primary-service{display:grid;grid-template-columns:1.12fr .88fr;background:#fff;border:1px solid var(--ctc-line);margin-bottom:34px}.ctc-primary-service img{width:100%;height:100%;min-height:360px;object-fit:cover}.ctc-primary-service>div:last-child{padding:45px;display:flex;flex-direction:column;justify-content:center}.ctc-primary-service h3{font-size:32px;margin-top:12px}.ctc-primary-service p{margin-top:14px;line-height:1.7;color:var(--ctc-ink-70)}
.ctc-coverage-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:52px;align-items:start}.ctc-coverage-copy{font-size:16px;line-height:1.8;color:rgba(255,255,255,.78)}.ctc-pill-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.ctc-pill-list span,.ctc-pill-list a{padding:8px 12px;border:1px solid var(--ctc-green-line);color:#fff;font:700 11px "Space Mono",monospace}.ctc-section-paper .ctc-pill-list span,.ctc-section-paper .ctc-pill-list a,.ctc-section-cream .ctc-pill-list span,.ctc-section-cream .ctc-pill-list a{border-color:var(--ctc-line);color:var(--ctc-ink);background:#fff}.ctc-pill-list a:hover{background:var(--ctc-gold);border-color:var(--ctc-gold);color:#241a04}
.ctc-link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.ctc-link-grid a{display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:13px 15px;border:1px solid var(--ctc-line);background:#fff;font-weight:700;font-size:13px}.ctc-link-grid a:hover{background:var(--ctc-green);border-color:var(--ctc-green);color:#fff}.ctc-link-grid a span{color:var(--ctc-rust);font:700 10px "Space Mono",monospace}
.ctc-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.ctc-feature-card{padding:28px;border:1px solid var(--ctc-line);background:#fff}.ctc-feature-card b{font:700 11px "Space Mono",monospace;color:var(--ctc-rust)}.ctc-feature-card h3{font-size:19px;margin-top:13px}.ctc-feature-card p{font-size:13.5px;line-height:1.65;color:var(--ctc-ink-70);margin-top:10px}
.ctc-emergency-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ctc-emergency-grid a{display:flex;gap:14px;padding:20px;background:rgba(255,255,255,.045);border:1px solid var(--ctc-green-line)}.ctc-emergency-grid a:hover{border-color:var(--ctc-gold)}.ctc-emergency-grid i{width:10px;height:10px;margin-top:5px;transform:rotate(45deg);background:var(--ctc-gold);flex:none}.ctc-emergency-grid h3{font-size:15px;color:#fff}.ctc-emergency-grid p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.65);margin-top:6px}
.ctc-process{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.ctc-process article{border-top:3px solid var(--ctc-ink);padding-top:18px}.ctc-process b{font:700 11px "Space Mono",monospace;color:var(--ctc-rust)}.ctc-process h3{font-size:17px;margin-top:10px}.ctc-process p{font-size:13px;line-height:1.6;color:var(--ctc-ink-70);margin-top:8px}
.ctc-testimonial-carousel{position:relative}.ctc-testimonial-track{--ctc-testimonial-gap:15px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - (var(--ctc-testimonial-gap) * 2)) / 3);gap:var(--ctc-testimonial-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:2px 1px}.ctc-testimonial-track::-webkit-scrollbar{display:none}.ctc-testimonial-track blockquote{min-width:0;margin:0;padding:25px;background:rgba(255,255,255,.04);border:1px solid var(--ctc-green-line);display:flex;flex-direction:column;scroll-snap-align:start;scroll-snap-stop:always}.ctc-stars{color:var(--ctc-gold-light);letter-spacing:3px}.ctc-testimonial-track p{font-size:14px;line-height:1.7;color:#fff;margin-top:14px;flex:1}.ctc-testimonial-track footer{border-top:1px solid var(--ctc-green-line);margin-top:18px;padding-top:14px;font:700 11px "Space Mono",monospace;color:rgba(255,255,255,.65)}.ctc-testimonial-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px}.ctc-testimonial-controls[hidden]{display:none}.ctc-testimonial-controls button{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--ctc-green-line);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;transition:background .2s,border-color .2s,opacity .2s}.ctc-testimonial-controls button:hover:not(:disabled),.ctc-testimonial-controls button:focus-visible{background:var(--ctc-gold);border-color:var(--ctc-gold);color:#241a04}.ctc-testimonial-controls button:disabled{opacity:.32;cursor:not-allowed}.ctc-testimonial-controls svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ctc-testimonial-status{min-width:92px;text-align:center;font:700 10px "Space Mono",monospace;color:rgba(255,255,255,.68);text-transform:uppercase;letter-spacing:.06em}@media(max-width:960px){.ctc-testimonial-track{grid-auto-columns:calc((100% - var(--ctc-testimonial-gap)) / 2)}}@media(max-width:640px){.ctc-testimonial-track{grid-auto-columns:100%}.ctc-testimonial-track blockquote{padding:22px}.ctc-testimonial-controls{margin-top:18px}}

/* Ticket and ledger alternates */
.ctc-ticket{position:relative;background:var(--ctc-gold);color:#241a04;padding:28px;box-shadow:0 20px 45px -25px rgba(0,0,0,.6)}.ctc-ticket:before,.ctc-ticket:after{content:"";position:absolute;top:50%;width:24px;height:24px;background:var(--ctc-green);border-radius:50%;transform:translateY(-50%)}.ctc-ticket:before{left:-12px}.ctc-ticket:after{right:-12px}.ctc-ticket small{font:700 10px "Space Mono",monospace;text-transform:uppercase;letter-spacing:.08em}.ctc-ticket strong{display:block;font:800 29px "Bitter",serif;margin:8px 0 18px}.ctc-ticket-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px dashed rgba(36,26,4,.4);padding-top:16px}.ctc-ticket-grid span{font:700 9px "Space Mono",monospace;text-transform:uppercase}.ctc-ticket-grid b{display:block;margin-top:5px;font-size:13px}
.ctc-ledger{background:var(--ctc-blue);color:#fff;border:1px solid rgba(255,255,255,.14);padding:30px;box-shadow:var(--ctc-shadow)}.ctc-ledger-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:16px}.ctc-ledger-head strong{font:700 22px "Bitter",serif}.ctc-ledger-head span{font:700 10px "Space Mono",monospace;color:var(--ctc-gold-light)}.ctc-ledger dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 0}.ctc-ledger dt{font:700 9px "Space Mono",monospace;color:rgba(255,255,255,.5);text-transform:uppercase}.ctc-ledger dd{margin:5px 0 0;font-weight:700}

/* FAQs and forms */
.ctc-faq-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:56px}.ctc-accordion-item{border-bottom:1px solid var(--ctc-line)}.ctc-accordion-item:first-child{border-top:1px solid var(--ctc-line)}.ctc-accordion button{width:100%;display:flex;justify-content:space-between;gap:20px;align-items:center;text-align:left;padding:20px 0;background:none;border:0;font:700 16px "Bitter",serif;color:var(--ctc-ink)}.ctc-accordion button span:last-child{font-family:"DM Sans",sans-serif;font-size:21px;transition:transform .25s}.ctc-accordion-item.is-open button span:last-child{transform:rotate(45deg)}.ctc-accordion-answer{max-height:0;overflow:hidden;transition:max-height .35s ease}.ctc-accordion-item.is-open .ctc-accordion-answer{max-height:1800px}.ctc-accordion-answer p{padding:0 0 20px;font-size:14px;line-height:1.7;color:var(--ctc-ink-70)}.ctc-accordion-answer a{color:var(--ctc-rust);font-weight:700;text-decoration:underline;text-underline-offset:3px}.ctc-accordion-answer strong{color:var(--ctc-ink)}
.ctc-quote-shell{background:var(--ctc-ink);color:#fff;padding:48px;border-radius:7px;box-shadow:var(--ctc-shadow)}.ctc-quote-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.ctc-quote-head h2{font-size:clamp(27px,4vw,42px)}.ctc-quote-head p{color:rgba(255,255,255,.65);max-width:520px;line-height:1.6;margin-top:12px}.ctc-form-progress{display:flex;gap:8px;margin:28px 0}.ctc-form-progress i{height:3px;flex:1;background:rgba(255,255,255,.15)}.ctc-form-progress i.is-active{background:var(--ctc-gold)}.ctc-form-step{display:none}.ctc-form-step.is-active{display:block}.ctc-step-label{font:700 10px "Space Mono",monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--ctc-gold-light);margin-bottom:18px}.ctc-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ctc-fields label,.ctc-full-field{display:flex;flex-direction:column;gap:8px}.ctc-fields label span,.ctc-full-field>span{font:700 10px "Space Mono",monospace;text-transform:uppercase;letter-spacing:.05em;color:rgba(255,255,255,.62)}.ctc-fields input,.ctc-full-field textarea,.ctc-fields select{width:100%;padding:13px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff}.ctc-fields select option{color:#111}.ctc-field-wide{grid-column:1/-1}.ctc-full-field textarea{resize:vertical}.ctc-form-nav{display:flex;justify-content:space-between;gap:12px;margin-top:25px}.ctc-consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;color:rgba(255,255,255,.72);margin-top:18px}.ctc-consent input{margin-top:3px}.ctc-form-message{padding:14px 16px;margin-bottom:18px;border:1px solid}.ctc-form-success{background:#eaf5eb;color:#184b2c;border-color:#83b88f}.ctc-form-error{background:#fff0ed;color:#7c261a;border-color:#d18f84}

/* Services and core pages */
.ctc-service-hero{padding:84px 0;background:var(--ctc-paper)}.ctc-service-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:48px;align-items:center}.ctc-service-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border:3px solid var(--ctc-gold);padding:8px;background:var(--ctc-green);box-shadow:var(--ctc-shadow)}.ctc-service-hero h1{font-size:clamp(40px,5vw,64px);margin-top:16px}.ctc-service-hero p{font-size:17px;line-height:1.7;color:var(--ctc-ink-70);margin-top:18px}.ctc-gallery{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:14px}.ctc-gallery img{width:100%;height:100%;min-height:340px;object-fit:cover}.ctc-gallery img:nth-child(2),.ctc-gallery img:nth-child(3){min-height:0;aspect-ratio:2/3}.ctc-core-hero{padding:110px 0 86px;background:var(--ctc-green);color:#fff}.ctc-core-hero h1{font-size:clamp(42px,6vw,72px);max-width:900px}.ctc-core-hero p{font-size:18px;line-height:1.7;color:rgba(255,255,255,.73);max-width:700px;margin-top:20px}.ctc-core-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.ctc-contact-card{padding:32px;background:#fff;border:1px solid var(--ctc-line)}.ctc-contact-card h2{font-size:24px}.ctc-contact-card p,.ctc-contact-card address{font-style:normal;color:var(--ctc-ink-70);line-height:1.7;margin-top:12px}.ctc-contact-card a{font-weight:700;color:var(--ctc-rust)}

/* Home */
.ctc-home-hero{position:relative;min-height:760px;background:var(--ctc-green);color:#fff;display:grid;align-items:end;overflow:hidden}.ctc-home-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.34}.ctc-home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,31,23,.94) 0%,rgba(10,31,23,.62) 56%,rgba(10,31,23,.25)),linear-gradient(0deg,rgba(10,31,23,.8),transparent 55%)}.ctc-home-hero .ctc-wrap{position:relative;z-index:2;width:100%;padding-top:120px;padding-bottom:90px}.ctc-home-hero h1{font-size:clamp(50px,7vw,88px);max-width:920px}.ctc-home-hero h1 em{font-style:normal;color:var(--ctc-gold-light)}.ctc-home-hero p{font-size:18px;line-height:1.7;color:rgba(255,255,255,.78);max-width:640px;margin-top:22px}.ctc-home-proof{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}.ctc-home-proof span{padding:8px 12px;border:1px solid rgba(255,255,255,.25);font:700 10px "Space Mono",monospace}.ctc-regions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ctc-regions a{min-height:160px;padding:25px;display:flex;flex-direction:column;justify-content:space-between;background:var(--ctc-green);color:#fff;border:1px solid rgba(255,255,255,.1)}.ctc-regions a:hover{background:var(--ctc-blue);transform:translateY(-3px)}.ctc-regions strong{font:700 22px "Bitter",serif}.ctc-regions span{font:700 10px "Space Mono",monospace;color:var(--ctc-gold-light)}

/* Homepage hero: aligned to the centred regional-hub design system. */
.ctc-home-hero-v2{
  position:relative;
  overflow:hidden;
  padding:82px 0 72px;
  background-color:#1F4A3D;
  background-image:linear-gradient(155deg,#193E34 0%,#1F4A3D 52%,#214E41 100%);
  color:#F7F2E4;
  isolation:isolate;
}
.ctc-home-hero-v2::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:1;
  background-image:
    repeating-linear-gradient(45deg,transparent 0 34px,rgba(216,181,99,.07) 34px 36px,transparent 36px 68px),
    repeating-linear-gradient(-45deg,transparent 0 34px,rgba(247,242,228,.05) 34px 36px,transparent 36px 68px);
}
.ctc-home-hero-v2 .ctc-wrap{position:relative;z-index:1}
.ctc-home-hero-v2 .ctc-hero-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:min(1080px,100%);
  max-width:none;
  margin-inline:auto;
  text-align:center;
}
.ctc-home-hero-v2 .ctc-hero-stamp{
  border-color:rgba(247,242,228,.24);
  background:rgba(247,242,228,.06);
  color:#D8B563;
}
.ctc-home-hero-v2 h1{
  width:min(1010px,100%);
  max-width:none;
  margin:18px auto 0;
  color:#fff;
  font-size:clamp(44px,5.6vw,72px);
  text-align:center;
}
.ctc-home-hero-v2 .ctc-hero-sub{
  width:min(820px,100%);
  max-width:none;
  margin:22px auto 0;
  color:rgba(247,242,228,.82);
  font-size:18px;
  line-height:1.72;
  text-align:center;
}
.ctc-home-hero-v2 .ctc-hero-actions{width:100%;justify-content:center}
.ctc-home-hero-v2 .ctc-btn-ghost{border-color:rgba(247,242,228,.48);color:#fff}
.ctc-home-hero-v2 .ctc-btn-ghost:hover{background:#fff;border-color:#fff;color:#16241F}
.ctc-home-area-check{width:min(900px,100%)}
.ctc-home-hero-notes{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 24px;
  margin-top:20px;
  color:rgba(247,242,228,.7);
  font:700 10px "Space Mono",monospace;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.ctc-home-hero-notes span+span::before{content:"◆";margin-right:24px;color:#D8B563;font-size:7px}
@media(max-width:760px){
  .ctc-home-hero-v2{padding:68px 0 58px}
  .ctc-home-hero-v2 h1{font-size:clamp(40px,12vw,58px)}
  .ctc-home-hero-v2 .ctc-hero-sub{font-size:16px}
}
@media(max-width:520px){
  .ctc-home-hero-v2{padding:54px 0 48px}
  .ctc-home-hero-v2 .ctc-hero-actions{display:grid}
  .ctc-home-hero-v2 .ctc-hero-actions .ctc-btn{width:100%}
  .ctc-home-hero-notes{display:grid;gap:8px}
  .ctc-home-hero-notes span+span::before{content:none}
}

/* Blog */
.ctc-blog-hero{padding:108px 0 72px;background:var(--ctc-paper)}.ctc-blog-hero h1{font-size:clamp(42px,6vw,70px);max-width:900px}.ctc-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ctc-post-card{background:#fff;border:1px solid var(--ctc-line);padding:27px}.ctc-post-card time{font:700 9px "Space Mono",monospace;text-transform:uppercase;color:var(--ctc-rust)}.ctc-post-card h2{font-size:22px;margin-top:12px}.ctc-post-card p{font-size:14px;line-height:1.65;color:var(--ctc-ink-70);margin-top:12px}.ctc-article-hero{padding:100px 0 70px;background:var(--ctc-paper)}.ctc-article-hero h1{font-size:clamp(40px,6vw,70px);max-width:980px}.ctc-article-meta{margin-top:20px;font:700 10px "Space Mono",monospace;text-transform:uppercase;color:var(--ctc-rust)}.ctc-article{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start}.ctc-article-aside{position:sticky;top:30px}.ctc-article-aside strong{font:700 10px "Space Mono",monospace;text-transform:uppercase;color:var(--ctc-rust)}.ctc-article-aside a{display:block;padding:8px 0;border-bottom:1px solid var(--ctc-line);font-size:12px}.ctc-prose{font-size:17px;line-height:1.82}.ctc-prose h2{font-size:34px;margin:55px 0 16px}.ctc-prose h3{font-size:23px;margin:35px 0 12px}.ctc-prose p{margin:0 0 22px}.ctc-prose ul,.ctc-prose ol{padding-left:24px;margin:0 0 25px}.ctc-prose li{margin:9px 0}.ctc-prose blockquote{margin:34px 0;padding:25px 28px;background:var(--ctc-green);color:#fff;border-left:5px solid var(--ctc-gold)}.ctc-prose img{margin:34px 0;width:100%}

/* Author profiles and post bylines */
.ctc-post-byline{display:flex;align-items:center;gap:11px;width:max-content;max-width:100%;font-size:12px;color:var(--ctc-ink-70);transition:color .2s ease}.ctc-post-byline:hover{color:var(--ctc-rust)}.ctc-post-byline img{flex:0 0 auto;border-radius:50%;object-fit:cover;border:2px solid var(--ctc-gold);background:var(--ctc-paper)}.ctc-post-byline strong{color:var(--ctc-ink)}.ctc-post-byline-hero{margin-top:20px}.ctc-post-byline-hero img{width:48px;height:48px}.ctc-post-byline-card{margin:20px 0 18px}.ctc-post-byline-card img{width:34px;height:34px}.ctc-author-box{display:grid;grid-template-columns:130px 1fr;gap:28px;align-items:start;margin-top:58px;padding:30px;background:#fff;border:1px solid var(--ctc-line);box-shadow:0 16px 40px rgba(20,38,29,.07)}.ctc-author-box img{width:130px;height:130px;object-fit:cover;border-radius:50%;border:4px solid var(--ctc-gold)}.ctc-author-box h2{font-size:28px;margin:8px 0 12px}.ctc-author-box p{font-size:14px;line-height:1.7;color:var(--ctc-ink-70);margin:0 0 12px}.ctc-author-box .ctc-text-link{margin-top:7px}.ctc-author-hero{padding:100px 0 72px;background-color:var(--ctc-green);background-image:linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.025) 25%,transparent 25%);background-size:28px 28px;color:#fff}.ctc-author-profile{display:grid;grid-template-columns:220px minmax(0,760px);gap:48px;align-items:center}.ctc-author-avatar{width:220px;height:220px;object-fit:cover;border-radius:50%;border:6px solid var(--ctc-gold);box-shadow:0 20px 48px rgba(0,0,0,.24)}.ctc-author-hero h1{font-size:clamp(42px,6vw,70px);color:#fff;margin-top:8px}.ctc-author-hero .ctc-eyebrow{color:var(--ctc-gold-light)}.ctc-author-bio{margin-top:18px;font-size:16px;line-height:1.75;color:rgba(255,255,255,.8)}.ctc-author-bio p+p{margin-top:12px}
@media(max-width:760px){.ctc-author-profile{grid-template-columns:140px 1fr;gap:28px}.ctc-author-avatar{width:140px;height:140px}.ctc-author-hero{padding-top:125px}.ctc-author-box{grid-template-columns:100px 1fr}.ctc-author-box img{width:100px;height:100px}}
@media(max-width:520px){.ctc-author-profile,.ctc-author-box{grid-template-columns:1fr}.ctc-author-avatar,.ctc-author-box img{width:112px;height:112px}.ctc-author-box{padding:24px}.ctc-author-hero h1{font-size:40px}}

/* Bespoke core and service page redesigns — August 2026 */
.ctc-svc-page{--svc-accent:var(--ctc-gold);--svc-bg:var(--ctc-paper);--svc-ink:var(--ctc-ink);overflow:hidden;background:var(--svc-bg);color:var(--svc-ink)}
.ctc-svc-hero{position:relative;padding:88px 0 82px;background:var(--svc-bg)}
.ctc-svc-hero:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.6}
.ctc-svc-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:64px;align-items:center}
.ctc-svc-copy{position:relative;z-index:2}
.ctc-svc-index{display:block;margin-bottom:20px;font:700 10px "Space Mono",monospace;letter-spacing:.12em;color:var(--svc-accent)}
.ctc-svc-copy h1{font-size:clamp(42px,5.6vw,70px);line-height:1.01;margin-top:15px}
.ctc-svc-statement{max-width:620px;margin-top:22px;font:700 clamp(19px,2vw,25px)/1.35 "Bitter",serif;color:var(--svc-accent)}
.ctc-svc-intro{max-width:640px;margin-top:15px;font-size:15px;line-height:1.72;color:var(--ctc-ink-70)}
.ctc-svc-visual{position:relative;min-height:530px}
.ctc-svc-main-image{position:absolute;inset:0 0 44px 36px;margin:0;overflow:hidden;background:var(--ctc-green);box-shadow:var(--ctc-shadow)}
.ctc-svc-main-image img,.ctc-svc-inset-image img{width:100%;height:100%;object-fit:cover}
.ctc-svc-inset-image{position:absolute;left:0;bottom:0;width:31%;height:48%;margin:0;overflow:hidden;border:6px solid var(--svc-bg);box-shadow:0 18px 40px rgba(7,25,17,.28)}
.ctc-svc-signal{position:absolute;right:-18px;top:35px;width:104px;min-height:104px;padding:12px;display:flex;flex-direction:column;justify-content:space-between;background:var(--svc-accent);color:#241a04}
.ctc-svc-signal span{width:12px;height:12px;border:2px solid currentColor;border-radius:50%}
.ctc-svc-signal b{font:700 8px/1.4 "Space Mono",monospace;text-transform:uppercase}
.ctc-svc-marker{border-top:1px solid var(--ctc-line);border-bottom:1px solid var(--ctc-line);background:#fff}
.ctc-svc-marker .ctc-wrap{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.ctc-svc-marker span,.ctc-svc-marker a{font:700 10px "Space Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.ctc-svc-marker a{color:var(--ctc-rust)}
.ctc-svc-signature{background:var(--svc-bg)}
.ctc-svc-signature-head{display:grid;grid-template-columns:.45fr 1.55fr;gap:36px;align-items:start}
.ctc-svc-signature-head h2{max-width:850px;font-size:clamp(34px,4.7vw,58px);line-height:1.08}
.ctc-svc-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:42px;background:var(--ctc-line);border:1px solid var(--ctc-line)}
.ctc-svc-detail-grid article{min-height:150px;padding:26px;background:#fff;display:flex;flex-direction:column;justify-content:space-between}
.ctc-svc-detail-grid article span{font:700 10px "Space Mono",monospace;color:var(--svc-accent)}
.ctc-svc-detail-grid article strong{font:700 18px/1.35 "Bitter",serif}
.ctc-svc-focus{display:grid;grid-template-columns:.82fr 1.18fr;margin-top:42px;background:var(--ctc-green);color:#fff}
.ctc-svc-focus-image{min-height:440px;overflow:hidden}
.ctc-svc-focus-image img{width:100%;height:100%;object-fit:cover}
.ctc-svc-focus-copy{padding:54px;display:flex;flex-direction:column;justify-content:center}
.ctc-svc-focus-copy h3{font-size:clamp(28px,3.5vw,43px);line-height:1.16;margin-top:15px;color:#fff}
.ctc-svc-focus-copy p{margin-top:18px;max-width:620px;font-size:15px;line-height:1.72;color:rgba(255,255,255,.72)}
.ctc-svc-process{background:#fff}
.ctc-svc-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ctc-svc-steps article{min-height:230px;padding:24px;border:1px solid var(--ctc-line);background:var(--ctc-paper);display:flex;flex-direction:column;justify-content:space-between}
.ctc-svc-steps b{font:700 11px "Space Mono",monospace;color:var(--svc-accent)}
.ctc-svc-steps h3{font-size:18px}
.ctc-svc-steps p{margin-top:9px;font-size:13px;line-height:1.62;color:var(--ctc-ink-70)}
.ctc-svc-gallery-section{background:var(--ctc-ink);color:#fff}
.ctc-svc-gallery-head{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:end}
.ctc-svc-gallery-head h2{color:#fff}
.ctc-svc-gallery-head>p{font-size:15px;line-height:1.7;color:rgba(255,255,255,.62)}
.ctc-svc-gallery{display:grid;grid-template-columns:1.4fr .72fr .88fr;gap:14px;margin-top:38px}
.ctc-svc-gallery figure{position:relative;margin:0;min-height:430px;overflow:hidden;background:#07120d}
.ctc-svc-gallery figure:nth-child(2){min-height:520px;margin-top:46px}
.ctc-svc-gallery figure:nth-child(3){min-height:360px;margin-top:108px}
.ctc-svc-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.ctc-svc-gallery figure:hover img{transform:scale(1.035)}
.ctc-svc-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:25px 18px 15px;background:linear-gradient(transparent,rgba(0,0,0,.74));font:700 9px "Space Mono",monospace;text-transform:uppercase;letter-spacing:.07em}
.ctc-kind-service .ctc-svc-page+.ctc-section-blue,.ctc-kind-service .ctc-svc-page+.ctc-section-blue+.ctc-section{display:none}

/* Curtain studio */
.ctc-svc--curtain{--svc-bg:#f4efe4;--svc-accent:#a86d43}
.ctc-svc--curtain .ctc-svc-hero:before{background:repeating-linear-gradient(90deg,transparent 0 74px,rgba(73,54,38,.045) 74px 75px)}
.ctc-svc--curtain .ctc-svc-main-image{inset:0 54px 0 22%;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}
.ctc-svc--curtain .ctc-svc-inset-image{width:34%;height:68%;border-width:8px}
.ctc-svc--curtain .ctc-svc-signal{top:auto;bottom:28px;right:14px}
.ctc-svc--curtain .ctc-svc-focus{background:#5e493a}
.ctc-svc--curtain .ctc-svc-detail-grid article:nth-child(2){transform:translateY(15px)}

/* Emergency control desk */
.ctc-svc--emergency{--svc-bg:#281d19;--svc-accent:#f1b84a;--svc-ink:#fff}
.ctc-svc--emergency .ctc-svc-hero{color:#fff;background:radial-gradient(circle at 15% 15%,rgba(184,78,45,.3),transparent 34%),#281d19}
.ctc-svc--emergency .ctc-svc-hero:before{background:repeating-linear-gradient(-45deg,transparent 0 18px,rgba(255,255,255,.025) 18px 19px)}
.ctc-svc--emergency .ctc-svc-intro{color:rgba(255,255,255,.7)}
.ctc-svc--emergency .ctc-svc-main-image{inset:34px 0 34px 0;border:1px solid rgba(255,255,255,.2);filter:saturate(.78) contrast(1.07)}
.ctc-svc--emergency .ctc-svc-inset-image{display:none}
.ctc-svc--emergency .ctc-svc-signal{right:22px;top:5px;animation:ctcUrgentPulse 2.2s infinite}
.ctc-svc--emergency .ctc-svc-marker{background:#a83f2c;color:#fff;border:0}.ctc-svc--emergency .ctc-svc-marker a{color:#fff}
.ctc-svc--emergency .ctc-svc-signature{background:#f2e9dc;color:var(--ctc-ink)}
.ctc-svc--emergency .ctc-svc-focus{background:#311f1b}
@keyframes ctcUrgentPulse{50%{box-shadow:0 0 0 12px rgba(241,184,74,0)}0%,100%{box-shadow:0 0 0 0 rgba(241,184,74,.25)}}

/* Regular cleaning calendar */
.ctc-svc--regular{--svc-bg:#eef2ec;--svc-accent:#3d705a}
.ctc-svc--regular .ctc-svc-hero:before{background:linear-gradient(90deg,transparent 49.8%,rgba(22,63,47,.06) 50%),linear-gradient(transparent 49.8%,rgba(22,63,47,.06) 50%);background-size:72px 72px}
.ctc-svc--regular .ctc-svc-main-image{inset:18px 0 18px 70px;border-radius:160px 0 0 160px}
.ctc-svc--regular .ctc-svc-inset-image{left:16px;bottom:58px;width:29%;height:38%;border-radius:50%}
.ctc-svc--regular .ctc-svc-signal{right:auto;left:0;top:32px;background:var(--ctc-green);color:#fff}
.ctc-svc--regular .ctc-svc-focus{background:var(--ctc-blue)}
.ctc-svc--regular .ctc-svc-steps article:nth-child(even){margin-top:28px}

/* Carpet repair workshop */
.ctc-svc--repair{--svc-bg:#e7edf0;--svc-accent:#2d6178}
.ctc-svc--repair .ctc-svc-hero{background-color:#dfe9ed;background-image:linear-gradient(rgba(45,97,120,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(45,97,120,.08) 1px,transparent 1px);background-size:24px 24px}
.ctc-svc--repair .ctc-svc-main-image{inset:28px 0 0 28px;border:2px solid #2d6178;padding:8px;background:#dfe9ed}
.ctc-svc--repair .ctc-svc-inset-image{width:38%;height:40%;bottom:22px;border-color:#dfe9ed}
.ctc-svc--repair .ctc-svc-signal{right:-8px;top:0;background:#2d6178;color:#fff}
.ctc-svc--repair .ctc-svc-focus{grid-template-columns:1.2fr .8fr;background:#173a4a}.ctc-svc--repair .ctc-svc-focus-image{order:2}
.ctc-svc--repair .ctc-svc-detail-grid article{border-top:4px solid #2d6178}

/* House clearance inventory */
.ctc-svc--clearance{--svc-bg:#f1e7cf;--svc-accent:#8a542b}
.ctc-svc--clearance .ctc-svc-hero-grid{grid-template-columns:1.12fr .88fr}
.ctc-svc--clearance .ctc-svc-main-image{inset:0 0 0 0;filter:grayscale(.7) sepia(.15)}
.ctc-svc--clearance .ctc-svc-inset-image{display:none}
.ctc-svc--clearance .ctc-svc-signal{right:-15px;top:auto;bottom:-15px;width:150px}
.ctc-svc--clearance .ctc-svc-marker{background:var(--ctc-gold)}
.ctc-svc--clearance .ctc-svc-detail-grid{transform:rotate(-.5deg)}
.ctc-svc--clearance .ctc-svc-focus{background:#4a3425}.ctc-svc--clearance .ctc-svc-focus-copy{border-left:1px dashed rgba(255,255,255,.3)}
.ctc-svc--clearance .ctc-svc-steps article{min-height:210px;border-left:5px solid #8a542b}

/* Sofa editorial */
.ctc-svc--sofa{--svc-bg:#f4e9e3;--svc-accent:#9b4938}
.ctc-svc--sofa .ctc-svc-hero-grid{grid-template-columns:.8fr 1.2fr}
.ctc-svc--sofa .ctc-svc-main-image{inset:0 0 80px 0;border-radius:180px 180px 0 0}
.ctc-svc--sofa .ctc-svc-inset-image{left:auto;right:4%;width:35%;height:44%;border-color:#f4e9e3}
.ctc-svc--sofa .ctc-svc-signal{left:-20px;right:auto;top:48px;background:#9b4938;color:#fff}
.ctc-svc--sofa .ctc-svc-focus{background:#673b34;border-radius:0 110px 0 0;overflow:hidden}
.ctc-svc--sofa .ctc-svc-gallery figure:first-child{border-radius:120px 0 0 0}

/* Upholstery material library */
.ctc-svc--upholstery{--svc-bg:#e6eee9;--svc-accent:#27654c}
.ctc-svc--upholstery .ctc-svc-hero:before{background:radial-gradient(circle at 90% 0,rgba(39,101,76,.18),transparent 38%)}
.ctc-svc--upholstery .ctc-svc-main-image{inset:42px 0 42px 25%;border:12px solid #fff}
.ctc-svc--upholstery .ctc-svc-inset-image{width:42%;height:58%;bottom:0;border-color:#e6eee9}
.ctc-svc--upholstery .ctc-svc-signal{top:0;right:12px;background:#27654c;color:#fff}
.ctc-svc--upholstery .ctc-svc-detail-grid article{background:linear-gradient(135deg,#fff,#edf4ef)}
.ctc-svc--upholstery .ctc-svc-focus{background:#153d2e}
.ctc-svc--upholstery .ctc-svc-steps{grid-template-columns:1fr 1fr}.ctc-svc--upholstery .ctc-svc-steps article{min-height:170px;flex-direction:row;gap:20px}

/* Sewage containment */
.ctc-svc--sewage{--svc-bg:#17231d;--svc-accent:#edb62d;--svc-ink:#fff}
.ctc-svc--sewage .ctc-svc-hero{color:#fff;background:#17231d}
.ctc-svc--sewage .ctc-svc-hero:before{background:repeating-linear-gradient(135deg,transparent 0 30px,rgba(237,182,45,.035) 30px 60px)}
.ctc-svc--sewage .ctc-svc-intro{color:rgba(255,255,255,.68)}
.ctc-svc--sewage .ctc-svc-main-image{inset:24px;border:1px solid rgba(237,182,45,.5)}
.ctc-svc--sewage .ctc-svc-inset-image{display:none}
.ctc-svc--sewage .ctc-svc-signal{right:0;top:0}
.ctc-svc--sewage .ctc-svc-marker{background:repeating-linear-gradient(-45deg,#e9b43d 0 12px,#1c221f 12px 24px);color:#fff}.ctc-svc--sewage .ctc-svc-marker .ctc-wrap{background:#1c221f}
.ctc-svc--sewage .ctc-svc-signature{background:#edf0e8;color:var(--ctc-ink)}
.ctc-svc--sewage .ctc-svc-focus{background:#101a15}

/* Biohazard protocol */
.ctc-svc--biohazard{--svc-bg:#dfe9ee;--svc-accent:#245f78}
.ctc-svc--biohazard .ctc-svc-hero:before{background:linear-gradient(90deg,rgba(36,95,120,.07) 1px,transparent 1px),linear-gradient(rgba(36,95,120,.07) 1px,transparent 1px);background-size:44px 44px}
.ctc-svc--biohazard .ctc-svc-main-image{inset:35px 0 35px 0;clip-path:polygon(9% 0,100% 0,100% 88%,91% 100%,0 100%,0 12%)}
.ctc-svc--biohazard .ctc-svc-inset-image{display:none}
.ctc-svc--biohazard .ctc-svc-signal{background:#245f78;color:#fff;right:18px;top:5px}
.ctc-svc--biohazard .ctc-svc-detail-grid article{position:relative}.ctc-svc--biohazard .ctc-svc-detail-grid article:after{content:"";position:absolute;right:16px;top:16px;width:18px;height:18px;border:1px solid #245f78;border-radius:50%}
.ctc-svc--biohazard .ctc-svc-focus{background:#123a4b}
.ctc-svc--biohazard .ctc-svc-steps article{border-radius:70px 70px 0 0;text-align:center;align-items:center}

/* Human waste — calm and discreet */
.ctc-svc--waste{--svc-bg:#f5f2ea;--svc-accent:#6c665d}
.ctc-svc--waste .ctc-svc-hero-grid{grid-template-columns:1.1fr .9fr}
.ctc-svc--waste .ctc-svc-main-image{inset:26px 0 26px 80px;filter:saturate(.58);border-radius:220px 220px 0 0}
.ctc-svc--waste .ctc-svc-inset-image{width:32%;height:34%;border-radius:50%;bottom:40px}
.ctc-svc--waste .ctc-svc-signal{display:none}
.ctc-svc--waste .ctc-svc-marker{background:#6c665d;color:#fff}.ctc-svc--waste .ctc-svc-marker a{color:#fff}
.ctc-svc--waste .ctc-svc-focus{background:#4b4a45}
.ctc-svc--waste .ctc-svc-detail-grid{gap:18px;background:transparent;border:0}.ctc-svc--waste .ctc-svc-detail-grid article{border:1px solid var(--ctc-line);border-radius:8px}

/* Rodent evidence map */
.ctc-svc--rodent{--svc-bg:#e6e3d7;--svc-accent:#6d4e2b}
.ctc-svc--rodent .ctc-svc-hero:before{background:radial-gradient(circle,rgba(109,78,43,.14) 1.5px,transparent 2px);background-size:28px 28px}
.ctc-svc--rodent .ctc-svc-main-image{inset:0 46px 55px 0;border:8px solid #f7f5ee;transform:rotate(1.2deg)}
.ctc-svc--rodent .ctc-svc-inset-image{left:auto;right:0;width:38%;height:42%;border-color:#e6e3d7;transform:rotate(-2deg)}
.ctc-svc--rodent .ctc-svc-signal{left:-12px;right:auto;top:0;background:#6d4e2b;color:#fff}
.ctc-svc--rodent .ctc-svc-focus{background:#3c3225}
.ctc-svc--rodent .ctc-svc-steps article{border-top:5px solid #6d4e2b}

/* Flood waterline */
.ctc-svc--flood{--svc-bg:#dcebf0;--svc-accent:#27718a}
.ctc-svc--flood .ctc-svc-hero{background:linear-gradient(180deg,#eef6f8 0 62%,#b8d6df 62% 100%)}
.ctc-svc--flood .ctc-svc-hero:before{background:radial-gradient(ellipse at 70% 68%,rgba(255,255,255,.85),transparent 38%)}
.ctc-svc--flood .ctc-svc-main-image{inset:0 0 0 0;border-radius:50% 50% 8px 8px/20% 20% 8px 8px}
.ctc-svc--flood .ctc-svc-inset-image{display:none}
.ctc-svc--flood .ctc-svc-signal{background:#27718a;color:#fff;right:-8px;top:auto;bottom:10px}
.ctc-svc--flood .ctc-svc-marker{background:#27718a;color:#fff}.ctc-svc--flood .ctc-svc-marker a{color:#fff}
.ctc-svc--flood .ctc-svc-focus{background:#17495b}
.ctc-svc--flood .ctc-svc-detail-grid article{background:linear-gradient(180deg,#fff,#edf7f9)}
.ctc-svc--flood .ctc-svc-gallery-section{background:linear-gradient(180deg,#153f4d,#0b242c)}

/* Contact */
.ctc-contact-hero{padding:105px 0 82px;background:var(--ctc-green);color:#fff;position:relative;overflow:hidden}
.ctc-contact-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 0,rgba(255,255,255,.08),transparent 33%),repeating-linear-gradient(45deg,transparent 0 28px,rgba(255,255,255,.018) 28px 29px)}
.ctc-contact-hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center}
.ctc-contact-hero h1{font-size:clamp(46px,6.4vw,78px);line-height:1.02;max-width:780px;color:#fff}
.ctc-contact-hero p{max-width:650px;margin-top:22px;font-size:17px;line-height:1.75;color:rgba(255,255,255,.7)}
.ctc-contact-sheet{position:relative;padding:38px;background:var(--ctc-gold);color:#241a04;box-shadow:0 30px 70px rgba(0,0,0,.26);transform:rotate(1deg)}
.ctc-contact-sheet:before{content:"";position:absolute;inset:12px;border:1px dashed rgba(36,26,4,.35);pointer-events:none}
.ctc-contact-sheet-number{font:700 9px "Space Mono",monospace;letter-spacing:.12em}.ctc-contact-sheet h2{font-size:32px;margin-top:18px}
.ctc-contact-sheet dl{margin:28px 0 20px}.ctc-contact-sheet dl div{display:grid;grid-template-columns:105px 1fr;gap:12px;padding:14px 0;border-top:1px solid rgba(36,26,4,.24)}
.ctc-contact-sheet dt{font:700 9px "Space Mono",monospace;text-transform:uppercase}.ctc-contact-sheet dd{margin:0;font-weight:700;overflow-wrap:anywhere}
.ctc-contact-sheet>p{font-size:11px;font-weight:700}.ctc-contact-routing{background:var(--ctc-paper)}
.ctc-contact-route-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.ctc-contact-route-grid article{padding:30px;border:1px solid var(--ctc-line);background:#fff}
.ctc-contact-route-grid b{font:700 10px "Space Mono",monospace;color:var(--ctc-rust)}.ctc-contact-route-grid h3{font-size:21px;margin-top:26px}.ctc-contact-route-grid p{margin-top:10px;font-size:14px;line-height:1.65;color:var(--ctc-ink-70)}
.ctc-contact-band{padding:30px 0;background:var(--ctc-rust);color:#fff}.ctc-contact-band .ctc-wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.ctc-contact-band p{max-width:800px;font-size:14px;line-height:1.6}.ctc-contact-band a{font-weight:800;white-space:nowrap}

/* Why choose us */
.ctc-why-hero{position:relative;min-height:700px;padding:100px 0 80px;background:var(--ctc-paper);overflow:hidden;display:flex;align-items:flex-end}
.ctc-why-word{position:absolute;left:-1vw;top:-8vw;font:800 clamp(190px,34vw,520px)/.8 "Bitter",serif;color:rgba(22,63,47,.055);letter-spacing:-.08em}
.ctc-why-copy{position:relative;max-width:820px;margin-left:auto}.ctc-why-copy h1{font-size:clamp(52px,7vw,90px);line-height:.98}.ctc-why-copy p{max-width:620px;margin:24px 0 30px;font-size:19px;line-height:1.65;color:var(--ctc-ink-70)}
.ctc-why-principles{padding:0 0 95px;background:var(--ctc-paper)}.ctc-why-principle-lead{display:grid;grid-template-columns:.6fr 1.4fr;gap:40px;border-top:1px solid var(--ctc-line);padding-top:34px}.ctc-why-principle-lead h2{font-size:clamp(34px,4vw,52px)}
.ctc-why-principle-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:42px}.ctc-why-principle-grid article{min-height:260px;padding:26px;border:1px solid var(--ctc-line);margin-right:-1px;background:#fff}.ctc-why-principle-grid article:nth-child(even){margin-top:30px;background:var(--ctc-green);color:#fff}
.ctc-why-principle-grid span{font:700 10px "Space Mono",monospace;color:var(--ctc-rust)}.ctc-why-principle-grid h3{font-size:20px;margin-top:82px}.ctc-why-principle-grid p{margin-top:10px;font-size:13px;line-height:1.6;color:inherit;opacity:.72}
.ctc-why-proof{background:#e6edf0}.ctc-why-proof-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.ctc-why-ledger{border-top:3px solid var(--ctc-blue)}.ctc-why-ledger div{display:flex;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid rgba(25,72,91,.24)}.ctc-why-ledger span{font:700 10px "Space Mono",monospace;text-transform:uppercase;color:var(--ctc-blue)}.ctc-why-ledger strong{text-align:right}
.ctc-why-cta{padding:72px 0;background:var(--ctc-green);color:#fff;text-align:center}.ctc-why-cta span{font:700 10px "Space Mono",monospace;text-transform:uppercase;color:var(--ctc-gold-light)}.ctc-why-cta h2{font-size:clamp(36px,5vw,60px);color:#fff;margin:12px 0 26px}

/* About */
.ctc-about-hero{padding:96px 0;background:#efe8d8}.ctc-about-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:76px;align-items:end}.ctc-about-copy h1{font-size:clamp(50px,6.5vw,82px);line-height:.99}.ctc-about-copy p{max-width:690px;margin-top:25px;font-size:18px;line-height:1.75;color:var(--ctc-ink-70)}
.ctc-about-portrait{position:relative;max-width:480px;margin-left:auto}.ctc-about-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:saturate(.82);box-shadow:var(--ctc-shadow)}.ctc-about-portrait span{position:absolute;left:-42px;bottom:32px;padding:18px 22px;background:var(--ctc-gold);font:700 10px/1.6 "Space Mono",monospace;text-transform:uppercase}
.ctc-about-story{padding:100px 0;background:#fff}.ctc-about-story-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px}.ctc-about-story h2{font-size:clamp(36px,4.5vw,58px);line-height:1.08;margin-top:14px}.ctc-about-story p{font-size:18px;line-height:1.82;color:var(--ctc-ink-70)}.ctc-about-story p+p{margin-top:24px}
.ctc-about-film{background:var(--ctc-green);color:#fff}.ctc-about-film-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;align-items:end}.ctc-about-film figure{margin:0}.ctc-about-film img{width:100%;height:480px;object-fit:cover}.ctc-about-film figure:last-child img{height:340px}.ctc-about-film figcaption{padding-top:12px;font:700 9px "Space Mono",monospace;text-transform:uppercase;color:var(--ctc-gold-light)}
.ctc-about-timeline{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;border-top:1px solid var(--ctc-green-line)}.ctc-about-timeline article{padding:25px 22px;border-right:1px solid var(--ctc-green-line)}.ctc-about-timeline b{color:var(--ctc-gold-light);font:700 10px "Space Mono",monospace}.ctc-about-timeline h3{color:#fff;margin-top:26px}.ctc-about-timeline p{margin-top:9px;font-size:13px;line-height:1.6;color:rgba(255,255,255,.63)}
.ctc-about-close{padding:80px 0;background:var(--ctc-gold);text-align:center}.ctc-about-close p{max-width:800px;margin:0 auto 28px;font:700 clamp(30px,4vw,50px)/1.15 "Bitter",serif;color:#241a04}

/* Quote */
.ctc-quote-hero{padding:100px 0 86px;background:linear-gradient(135deg,#173e4f,#102e38);color:#fff;position:relative;overflow:hidden}.ctc-quote-hero:before{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.1);border-radius:50%;right:-110px;top:-160px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.ctc-quote-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:75px;align-items:center}.ctc-quote-hero h1{font-size:clamp(48px,6.5vw,80px);line-height:1;color:#fff}.ctc-quote-hero p{max-width:690px;margin-top:22px;font-size:18px;line-height:1.72;color:rgba(255,255,255,.72)}
.ctc-quote-promise{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.ctc-quote-promise span{padding:9px 12px;border:1px solid rgba(255,255,255,.2);font:700 9px "Space Mono",monospace;text-transform:uppercase}
.ctc-quote-brief{padding:38px;background:var(--ctc-paper);color:var(--ctc-ink);box-shadow:0 28px 65px rgba(0,0,0,.24)}.ctc-quote-brief>span{font:700 9px "Space Mono",monospace;color:var(--ctc-rust);text-transform:uppercase}.ctc-quote-brief h2{font-size:29px;margin-top:12px}.ctc-quote-brief ol{list-style:none;margin:25px 0;padding:0}.ctc-quote-brief li{display:flex;align-items:center;gap:16px;padding:13px 0;border-top:1px solid var(--ctc-line);font-weight:700}.ctc-quote-brief li b{color:var(--ctc-rust);font:700 10px "Space Mono",monospace}.ctc-quote-brief>a{display:flex;justify-content:space-between;padding-top:16px;border-top:2px solid var(--ctc-ink);font-weight:800}
.ctc-quote-route{padding:24px 0;background:var(--ctc-gold)}.ctc-quote-route .ctc-wrap{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:20px;align-items:center}.ctc-quote-route article{display:flex;justify-content:space-between;gap:20px}.ctc-quote-route article span{font:700 9px "Space Mono",monospace;text-transform:uppercase}.ctc-quote-route article strong{font-size:13px}.ctc-quote-route i{width:7px;height:7px;background:#241a04;transform:rotate(45deg)}
.ctc-quote-guidance{background:var(--ctc-paper)}.ctc-quote-guidance-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:80px}.ctc-quote-guidance-grid>div:last-child{font-size:17px;line-height:1.78;color:var(--ctc-ink-70)}.ctc-quote-guidance-grid p+p{margin-top:18px}

@media(max-width:960px){
	.ctc-svc-hero{padding-top:125px}.ctc-svc-hero-grid,.ctc-contact-hero-grid,.ctc-about-hero-grid,.ctc-quote-hero-grid{grid-template-columns:1fr;gap:45px}.ctc-svc-visual{min-height:480px}.ctc-svc-signature-head,.ctc-svc-gallery-head,.ctc-why-proof-grid,.ctc-about-story-grid,.ctc-quote-guidance-grid{grid-template-columns:1fr;gap:28px}.ctc-svc-focus{grid-template-columns:1fr 1fr}.ctc-svc-focus-copy{padding:38px}.ctc-svc-steps{grid-template-columns:1fr 1fr}.ctc-svc-gallery{grid-template-columns:1.15fr .85fr}.ctc-svc-gallery figure:nth-child(3){grid-column:1/-1;min-height:300px;margin-top:0}.ctc-contact-hero{padding-top:135px}.ctc-contact-sheet{max-width:620px}.ctc-why-principle-grid{grid-template-columns:1fr 1fr}.ctc-why-copy{margin-left:0}.ctc-why-hero{padding-top:135px}.ctc-about-portrait{margin-left:0}.ctc-about-film-grid{grid-template-columns:1fr 1fr}.ctc-about-timeline{grid-template-columns:1fr 1fr}.ctc-quote-hero{padding-top:135px}
}
@media(max-width:680px){
	.ctc-svc-hero{padding-bottom:58px}.ctc-svc-copy h1{font-size:42px}.ctc-svc-visual{min-height:390px}.ctc-svc-main-image{inset:0 0 35px 22px}.ctc-svc-inset-image{width:34%;height:42%}.ctc-svc-signal{right:0}.ctc-svc-marker .ctc-wrap{align-items:flex-start;flex-direction:column;padding-top:16px;padding-bottom:16px}.ctc-svc-detail-grid,.ctc-contact-route-grid{grid-template-columns:1fr}.ctc-svc-detail-grid article{min-height:110px}.ctc-svc-focus,.ctc-svc--repair .ctc-svc-focus{grid-template-columns:1fr}.ctc-svc--repair .ctc-svc-focus-image{order:0}.ctc-svc-focus-image{min-height:300px}.ctc-svc-focus-copy{padding:30px 24px}.ctc-svc-steps,.ctc-svc--upholstery .ctc-svc-steps{grid-template-columns:1fr}.ctc-svc-steps article,.ctc-svc--upholstery .ctc-svc-steps article{min-height:160px}.ctc-svc-gallery{grid-template-columns:1fr}.ctc-svc-gallery figure,.ctc-svc-gallery figure:nth-child(2),.ctc-svc-gallery figure:nth-child(3){min-height:330px;margin-top:0;grid-column:auto}.ctc-svc-gallery figure:nth-child(2){height:430px}.ctc-contact-sheet{padding:28px 24px;transform:none}.ctc-contact-sheet dl div{grid-template-columns:1fr}.ctc-contact-band .ctc-wrap{align-items:flex-start;flex-direction:column}.ctc-why-hero{min-height:610px}.ctc-why-word{top:100px}.ctc-why-principle-lead,.ctc-why-principle-grid{grid-template-columns:1fr}.ctc-why-principle-grid article,.ctc-why-principle-grid article:nth-child(even){min-height:210px;margin:0 0 -1px}.ctc-why-principle-grid h3{margin-top:48px}.ctc-why-ledger div{align-items:flex-start;flex-direction:column}.ctc-about-portrait{max-width:330px}.ctc-about-portrait span{left:14px}.ctc-about-film-grid,.ctc-about-timeline{grid-template-columns:1fr}.ctc-about-film img,.ctc-about-film figure:last-child img{height:330px}.ctc-quote-route .ctc-wrap{grid-template-columns:1fr}.ctc-quote-route i{display:none}.ctc-quote-route article{padding:8px 0;border-bottom:1px solid rgba(36,26,4,.25)}
}

/* Generic */
.ctc-empty{padding:100px 0;text-align:center}.ctc-pagination{margin-top:38px}.ctc-reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.ctc-reveal.is-visible{opacity:1;transform:none}
.ctc-footer{background-color:var(--ctc-green);background-image:linear-gradient(45deg,rgba(255,255,255,.02) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.02) 25%,transparent 25%);background-size:26px 26px;color:var(--ctc-paper);padding:72px 0 22px}.ctc-footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:40px}.ctc-footer h2{font-size:15px;color:#fff;margin-bottom:15px}.ctc-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}.ctc-footer li,.ctc-footer p,.ctc-footer address{font-size:12px;line-height:1.6;color:rgba(255,255,255,.62);font-style:normal}.ctc-footer a:hover{color:var(--ctc-gold-light)}.ctc-footer-brand img{width:190px;margin-bottom:18px}.ctc-footer-brand>a:not(:first-child){display:block;margin-top:12px;font-weight:700}.ctc-footer-brand address{margin-top:8px}.ctc-footer-bottom{border-top:1px solid var(--ctc-green-line);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;font:700 9px "Space Mono",monospace;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.05em}.ctc-sticky-actions{display:none}

@media(max-width:1100px){
  :root{--ctc-sidebar:190px}.ctc-wrap{padding:0 28px}.ctc-flyout-grid{grid-template-columns:1fr 1fr}.ctc-service-flyout{width:480px}.ctc-link-grid{grid-template-columns:repeat(3,1fr)}.ctc-service-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:960px){
  body.admin-bar .ctc-sidebar{top:0}.ctc-site-canvas{margin-left:0}.ctc-mobile-header{height:72px;display:flex;position:relative;z-index:310;align-items:center;justify-content:space-between;padding:10px 20px;background:transparent;margin-bottom:-72px}.ctc-mobile-header>a img{width:190px}.ctc-mobile-header>div{display:flex;align-items:center;gap:8px}.ctc-mobile-call{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ctc-green);color:#fff;font-size:10px;font-weight:800}.ctc-menu-toggle{width:42px;height:42px;border-radius:50%;border:1px solid var(--ctc-line);background:var(--ctc-paper);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px}.ctc-menu-toggle span{width:16px;height:2px;background:var(--ctc-ink);transition:.22s}.ctc-menu-toggle.is-open span:first-child{transform:translateY(6px) rotate(45deg)}.ctc-menu-toggle.is-open span:nth-child(2){opacity:0}.ctc-menu-toggle.is-open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.ctc-sidebar{width:min(360px,88vw);transform:translateX(-105%);transition:transform .3s ease;box-shadow:20px 0 55px rgba(0,0,0,.3)}.ctc-sidebar.is-open{transform:none}.ctc-nav-scrim{display:block;position:fixed;inset:0;background:rgba(8,18,14,.58);z-index:290;opacity:0;visibility:hidden;transition:.3s}.ctc-nav-scrim.is-open{opacity:1;visibility:visible}.ctc-menu-open{overflow:hidden}.ctc-logo{padding-right:45px}.ctc-services-nav{position:static}.ctc-service-flyout{position:static;width:auto;max-height:0;overflow:hidden;padding:0;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none}.ctc-services-nav.is-open .ctc-service-flyout{max-height:650px;padding:15px 0}.ctc-flyout-head{display:none}.ctc-flyout-grid{grid-template-columns:1fr 1fr}.ctc-hero,.ctc-service-hero{padding-top:120px}.ctc-core-hero,.ctc-blog-hero,.ctc-article-hero{padding-top:130px}.ctc-home-hero{min-height:700px}.ctc-home-hero .ctc-wrap{padding-top:155px}.ctc-sticky-actions{position:fixed;left:12px;right:12px;bottom:0;z-index:250;display:grid;grid-template-columns:1.2fr .8fr;box-shadow:0 18px 55px rgba(0,0,0,.35);opacity:0;transform:translateY(20px);pointer-events:none;transition:.3s}.ctc-sticky-actions.is-visible{opacity:1;transform:none;pointer-events:auto}.ctc-sticky-actions a{padding:14px 16px;background:var(--ctc-gold);color:#241a04;font-weight:800;font-size:12px;display:flex;justify-content:space-between}.ctc-sticky-actions a:last-child{background:var(--ctc-green);color:#fff}.ctc-hero-grid,.ctc-service-hero-grid{gap:36px}.ctc-proof-grid,.ctc-stat-grid{grid-template-columns:repeat(2,1fr)}.ctc-footer-grid{grid-template-columns:1.5fr 1fr 1fr}.ctc-footer-grid>div:last-child{display:none}
}
@media(max-width:760px){
  .ctc-wrap{padding:0 20px}.ctc-section{padding:66px 0}.ctc-hero-grid,.ctc-service-hero-grid,.ctc-coverage-grid,.ctc-faq-layout,.ctc-core-grid,.ctc-primary-service,.ctc-article{grid-template-columns:1fr}.ctc-hero-grid.is-reversed .ctc-hero-copy{order:1}.ctc-hero-grid.is-reversed .ctc-hero-media{order:2}.ctc-hero h1,.ctc-service-hero h1{font-size:clamp(38px,11vw,55px)}.ctc-film{max-width:520px;margin:auto}.ctc-film-inner{aspect-ratio:4/5}.ctc-hero-hub .ctc-film-inner{aspect-ratio:16/9}.ctc-hero-hub .ctc-film{max-width:none}.ctc-link-grid{grid-template-columns:repeat(2,1fr)}.ctc-service-grid,.ctc-feature-grid,.ctc-emergency-grid,.ctc-testimonials,.ctc-regions,.ctc-blog-grid{grid-template-columns:1fr 1fr}.ctc-process{grid-template-columns:1fr 1fr}.ctc-primary-service>div:last-child{padding:30px}.ctc-primary-service img{min-height:260px}.ctc-gallery{grid-template-columns:1fr 1fr}.ctc-gallery img:first-child{grid-column:1/-1}.ctc-gallery img{min-height:260px}.ctc-article-aside{display:none}.ctc-footer-grid{grid-template-columns:1fr 1fr}.ctc-footer-brand{grid-column:1/-1}
}
@media(max-width:520px){
  .ctc-mobile-header>a img{width:164px}.ctc-proof-grid,.ctc-stat-grid,.ctc-service-grid,.ctc-feature-grid,.ctc-emergency-grid,.ctc-testimonials,.ctc-regions,.ctc-blog-grid{grid-template-columns:1fr}.ctc-link-grid{grid-template-columns:1fr 1fr}.ctc-fields{grid-template-columns:1fr}.ctc-field-wide{grid-column:auto}.ctc-quote-shell{padding:30px 20px}.ctc-quote-head{display:block}.ctc-ticket-grid{grid-template-columns:1fr 1fr;gap:14px}.ctc-process{grid-template-columns:1fr}.ctc-footer-grid{grid-template-columns:1fr}.ctc-footer-brand{grid-column:auto}.ctc-footer-bottom{display:grid;gap:8px}.ctc-flyout-grid{grid-template-columns:1fr 1fr}.ctc-flyout-grid a{padding:8px;font-size:11px}.ctc-home-hero{min-height:720px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ctc-reveal{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Refined Oxford-green diamond field from the approved visual direction. */
.ctc-sidebar,
.ctc-footer,
.ctc-preloader,
.ctc-section-pattern,
.ctc-section-dark,
.ctc-core-hero{
  background-color:#16241f;
  background-image:
    radial-gradient(760px 340px at 12% 0%,rgba(216,181,99,.09),transparent 64%),
    linear-gradient(45deg,transparent 47%,rgba(216,181,99,.055) 48%,rgba(216,181,99,.055) 52%,transparent 53%),
    linear-gradient(-45deg,transparent 47%,rgba(247,242,228,.032) 48%,rgba(247,242,228,.032) 52%,transparent 53%);
  background-size:auto,38px 38px,38px 38px;
  background-position:center,0 0,19px 19px;
}
.ctc-sidebar{border-right-color:rgba(216,181,99,.16)}
.ctc-footer{border-top:1px solid rgba(216,181,99,.2)}
.ctc-section-pattern{color:var(--ctc-paper)}
.ctc-section-pattern .ctc-eyebrow{color:var(--ctc-gold-light)}
.ctc-section-pattern .ctc-heading{color:#fff}
.ctc-section-pattern .ctc-heading em{color:var(--ctc-gold-light)}
.ctc-section-pattern .ctc-lede{color:rgba(247,242,228,.76)}
.ctc-section-pattern .ctc-service-card{color:var(--ctc-ink)}
.ctc-section-pattern .ctc-service-card .ctc-text-link{color:var(--ctc-rust)}

/* One clear, generous postcode matrix on every regional hub. */
.ctc-region-coverage{overflow:hidden}
.ctc-region-coverage .ctc-wrap{position:relative;z-index:1}
.ctc-coverage-intro{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(360px,1.2fr);gap:64px;align-items:end}
.ctc-coverage-intro>p{max-width:680px;font-size:17px;line-height:1.75;color:rgba(247,242,228,.8)}
.ctc-postcode-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;margin-top:38px}
.ctc-postcode-grid a{min-height:58px;padding:12px 10px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(216,181,99,.3);background:rgba(255,255,255,.045);color:#fff;font:700 14px/1 "Space Mono",monospace;letter-spacing:.025em;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.ctc-postcode-grid a:hover,
.ctc-postcode-grid a:focus-visible{background:var(--ctc-gold);border-color:var(--ctc-gold);color:#241a04;transform:translateY(-2px);outline:none}

@media(max-width:760px){
  .ctc-coverage-intro{grid-template-columns:1fr;gap:22px}
  .ctc-postcode-grid{grid-template-columns:repeat(auto-fit,minmax(78px,1fr));gap:8px;margin-top:28px}
  .ctc-postcode-grid a{min-height:52px;font-size:13px}
}

/* Location hero system: exact Oxford green from the supplied HTML template. */
.ctc-kind-region .ctc-hero-hub,
.ctc-kind-postcode .ctc-hero,
.ctc-kind-area .ctc-hero{
  background-color:#1F4A3D;
  background-image:none;
  color:#F7F2E4;
  isolation:isolate;
}
.ctc-kind-region .ctc-hero-hub::before,
.ctc-kind-postcode .ctc-hero::before,
.ctc-kind-area .ctc-hero::before{
  z-index:-1;
  opacity:1;
  background-image:
    repeating-linear-gradient(45deg,transparent 0 34px,rgba(216,181,99,.07) 34px 36px,transparent 36px 68px),
    repeating-linear-gradient(-45deg,transparent 0 34px,rgba(247,242,228,.05) 34px 36px,transparent 36px 68px);
}
.ctc-kind-region .ctc-hero-stamp,
.ctc-kind-postcode .ctc-hero-stamp,
.ctc-kind-area .ctc-hero-stamp{
  border-color:rgba(247,242,228,.24);
  background:rgba(247,242,228,.06);
  color:#D8B563;
}
.ctc-kind-region .ctc-hero h1,
.ctc-kind-postcode .ctc-hero h1,
.ctc-kind-area .ctc-hero h1{color:#fff}
.ctc-kind-region .ctc-hero h1 em,
.ctc-kind-postcode .ctc-hero h1 em,
.ctc-kind-area .ctc-hero h1 em{color:#D8B563}
.ctc-kind-region .ctc-hero-sub,
.ctc-kind-postcode .ctc-hero-sub,
.ctc-kind-area .ctc-hero-sub{color:rgba(247,242,228,.8)}
.ctc-kind-region .ctc-hero .ctc-btn-ghost,
.ctc-kind-postcode .ctc-hero .ctc-btn-ghost,
.ctc-kind-area .ctc-hero .ctc-btn-ghost{border-color:rgba(247,242,228,.48);color:#fff}
.ctc-kind-region .ctc-hero .ctc-btn-ghost:hover,
.ctc-kind-postcode .ctc-hero .ctc-btn-ghost:hover,
.ctc-kind-area .ctc-hero .ctc-btn-ghost:hover{background:#fff;border-color:#fff;color:#16241F}

/* Regional hubs follow the centred editorial hero and widescreen film composition. */
.ctc-kind-region .ctc-hero-hub{padding:82px 0 72px}
.ctc-kind-region .ctc-hero-hub .ctc-hero-copy{max-width:940px}
.ctc-kind-region .ctc-hero-hub .ctc-hero-sub{max-width:760px}
.ctc-kind-region .ctc-hero-hub .ctc-film{
  max-width:1120px;
  padding:8px;
  border-color:#D8B563;
  background:#16241F;
  border-radius:12px;
}
.ctc-kind-region .ctc-hero-hub .ctc-film-inner{border-radius:7px}

/* Postcode and neighbourhood templates use the original split hero geometry. */
.ctc-kind-postcode .ctc-hero,
.ctc-kind-area .ctc-hero{padding:0;min-height:680px}
.ctc-kind-postcode .ctc-hero>.ctc-wrap,
.ctc-kind-area .ctc-hero>.ctc-wrap{max-width:none;padding:0}
.ctc-kind-postcode .ctc-hero .ctc-crumbs,
.ctc-kind-area .ctc-hero .ctc-crumbs{
  position:absolute;
  z-index:4;
  top:38px;
  left:clamp(32px,5vw,72px);
  padding:0;
  color:rgba(247,242,228,.6);
}
.ctc-kind-postcode .ctc-hero .ctc-crumbs a,
.ctc-kind-area .ctc-hero .ctc-crumbs a{color:#D8B563}
.ctc-kind-postcode .ctc-hero-grid,
.ctc-kind-area .ctc-hero-grid{grid-template-columns:1fr 1fr;gap:0;min-height:680px;align-items:stretch}
.ctc-kind-postcode .ctc-hero-copy,
.ctc-kind-area .ctc-hero-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:112px clamp(38px,5vw,76px) 72px;
}
.ctc-kind-postcode .ctc-hero-copy h1,
.ctc-kind-area .ctc-hero-copy h1{font-size:clamp(38px,4.8vw,58px);max-width:620px}
.ctc-kind-postcode .ctc-hero-media,
.ctc-kind-area .ctc-hero-media{height:100%;min-height:680px}
.ctc-kind-postcode .ctc-hero-media .ctc-film,
.ctc-kind-area .ctc-hero-media .ctc-film{height:100%;padding:0;border:0;border-radius:0;background:#16241F;box-shadow:none}
.ctc-kind-postcode .ctc-hero-media .ctc-film::before,
.ctc-kind-postcode .ctc-hero-media .ctc-film::after,
.ctc-kind-area .ctc-hero-media .ctc-film::before,
.ctc-kind-area .ctc-hero-media .ctc-film::after{display:none}
.ctc-kind-postcode .ctc-hero-media .ctc-film-inner,
.ctc-kind-area .ctc-hero-media .ctc-film-inner{position:relative;height:100%;aspect-ratio:auto;border-radius:0}
.ctc-kind-postcode .ctc-hero-media .ctc-film-inner::after,
.ctc-kind-area .ctc-hero-media .ctc-film-inner::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(9,31,24,.02) 38%,rgba(9,27,21,.78) 100%);
  pointer-events:none;
}
.ctc-kind-postcode .ctc-hero-media video,
.ctc-kind-area .ctc-hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ctc-kind-postcode .ctc-hero .ctc-price,
.ctc-kind-area .ctc-hero .ctc-price{z-index:2;right:22px;bottom:22px}

/* Gold mobile branding is reserved for the green location heroes. */
.ctc-mobile-logo-gold{display:none}
.ctc-kind-region .ctc-mobile-logo-green,
.ctc-kind-postcode .ctc-mobile-logo-green,
.ctc-kind-area .ctc-mobile-logo-green{display:none}
.ctc-kind-region .ctc-mobile-logo-gold,
.ctc-kind-postcode .ctc-mobile-logo-gold,
.ctc-kind-area .ctc-mobile-logo-gold{display:block}

@media(max-width:960px){
  .ctc-kind-region .ctc-hero-hub{padding-top:132px}
  .ctc-kind-postcode .ctc-hero,
  .ctc-kind-area .ctc-hero{padding:0;min-height:0}
  .ctc-kind-postcode .ctc-hero .ctc-crumbs,
  .ctc-kind-area .ctc-hero .ctc-crumbs{top:100px;left:24px}
  .ctc-kind-postcode .ctc-hero-grid,
  .ctc-kind-area .ctc-hero-grid{grid-template-columns:1fr;min-height:0}
  .ctc-kind-postcode .ctc-hero-grid.is-reversed .ctc-hero-copy,
  .ctc-kind-area .ctc-hero-grid.is-reversed .ctc-hero-copy{order:1}
  .ctc-kind-postcode .ctc-hero-grid.is-reversed .ctc-hero-media,
  .ctc-kind-area .ctc-hero-grid.is-reversed .ctc-hero-media{order:2}
  .ctc-kind-postcode .ctc-hero-copy,
  .ctc-kind-area .ctc-hero-copy{padding:142px 24px 52px}
  .ctc-kind-postcode .ctc-hero-media,
  .ctc-kind-area .ctc-hero-media{min-height:520px}
}
@media(max-width:520px){
  .ctc-kind-region .ctc-hero-hub{padding-top:118px}
  .ctc-kind-postcode .ctc-hero-media,
  .ctc-kind-area .ctc-hero-media{min-height:430px}
}

/* Precise hub centreline and the original postcode-to-quote control. */
.ctc-kind-region .ctc-hero-hub .ctc-hero-copy{
  display:flex;
  flex-direction:column;
  align-items:center;
  width:min(940px,100%);
  margin-inline:auto;
  text-align:center;
}
.ctc-kind-region .ctc-hero-hub h1{width:min(880px,100%);max-width:none;margin-left:auto;margin-right:auto;text-align:center}
.ctc-kind-region .ctc-hero-hub .ctc-hero-sub{width:min(760px,100%);margin-left:auto;margin-right:auto;text-align:center}
.ctc-kind-region .ctc-hero-hub .ctc-hero-actions{width:100%;justify-content:center}
.ctc-postcode-quickcheck{
  width:min(900px,100%);
  margin:34px auto 0;
  padding:14px;
  border:1px solid rgba(247,242,228,.2);
  border-radius:14px;
  background:linear-gradient(180deg,rgba(10,28,21,.72),rgba(18,48,38,.66));
  box-shadow:0 18px 42px -28px rgba(0,0,0,.7);
  backdrop-filter:blur(6px);
  text-align:left;
}
.ctc-postcode-quickcheck p{display:flex;align-items:center;gap:9px;color:rgba(247,242,228,.92);font-size:13px;font-weight:700}
.ctc-postcode-quickcheck p span{color:#D8B563;font-size:17px}
.ctc-postcode-quickcheck>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:10px}
.ctc-postcode-quickcheck select{
  width:100%;
  min-height:48px;
  padding:11px 16px;
  border:1px solid rgba(247,242,228,.3);
  border-radius:8px;
  background:rgba(247,242,228,.07);
  color:#fff;
  font-weight:650;
}
.ctc-postcode-quickcheck select option{color:#16241F;background:#F7F2E4}
.ctc-postcode-quickcheck .ctc-btn{min-height:48px;padding-inline:24px}

/* Restrained colour fields: shared diamond language, individual gradient character. */
.ctc-sidebar{
  background-color:#16241F;
  background-image:linear-gradient(145deg,#14211D 0%,#16241F 58%,#192B25 100%);
}
.ctc-footer,
.ctc-preloader{
  background-color:#16241F;
  background-image:
    repeating-linear-gradient(45deg,transparent 0 34px,rgba(216,181,99,.035) 34px 36px,transparent 36px 68px),
    repeating-linear-gradient(-45deg,transparent 0 34px,rgba(247,242,228,.022) 34px 36px,transparent 36px 68px),
    linear-gradient(145deg,#14211D 0%,#16241F 58%,#192B25 100%);
  background-size:auto;
  background-position:0 0;
}
.ctc-section-pattern,
.ctc-section-dark,
.ctc-core-hero,
.ctc-regions a,
.ctc-service-flyout{
  background-color:#1F4A3D;
  background-image:
    repeating-linear-gradient(45deg,transparent 0 34px,rgba(216,181,99,.05) 34px 36px,transparent 36px 68px),
    repeating-linear-gradient(-45deg,transparent 0 34px,rgba(247,242,228,.032) 34px 36px,transparent 36px 68px),
    linear-gradient(145deg,#1B4438 0%,#1F4A3D 56%,#214E41 100%);
  background-size:auto;
  background-position:0 0;
}
.ctc-section-blue,
.ctc-ledger{
  background-color:#152F52;
  background-image:
    repeating-linear-gradient(45deg,transparent 0 34px,rgba(216,181,99,.045) 34px 36px,transparent 36px 68px),
    repeating-linear-gradient(-45deg,transparent 0 34px,rgba(247,242,228,.028) 34px 36px,transparent 36px 68px),
    linear-gradient(135deg,#122B4A 0%,#152F52 58%,#173454 100%);
}
.ctc-quote-shell{
  background-color:#16241F;
  background-image:
    repeating-linear-gradient(45deg,transparent 0 34px,rgba(216,181,99,.04) 34px 36px,transparent 36px 68px),
    repeating-linear-gradient(-45deg,transparent 0 34px,rgba(247,242,228,.024) 34px 36px,transparent 36px 68px),
    linear-gradient(150deg,#13211D 0%,#16241F 60%,#192A24 100%);
}
.ctc-kind-region .ctc-hero-hub,
.ctc-kind-postcode .ctc-hero,
.ctc-kind-area .ctc-hero{
  background-color:#1F4A3D;
  background-image:linear-gradient(155deg,#193E34 0%,#1F4A3D 52%,#214E41 100%);
}
.ctc-home-hero::after{
  background-image:
    linear-gradient(105deg,rgba(10,31,23,.92) 0%,rgba(10,31,23,.60) 57%,rgba(10,31,23,.24)),
    linear-gradient(12deg,rgba(10,31,23,.76),transparent 56%);
}

/* When colour fields touch, the second keeps its gradient but drops the pattern. */
:is(.ctc-section-pattern,.ctc-section-dark,.ctc-section-blue,.ctc-core-hero) + :is(.ctc-section-pattern,.ctc-section-dark,.ctc-core-hero){
  background-image:linear-gradient(145deg,#1B4438 0%,#1F4A3D 56%,#214E41 100%);
}
:is(.ctc-section-pattern,.ctc-section-dark,.ctc-section-blue,.ctc-core-hero) + .ctc-section-blue{
  background-image:linear-gradient(135deg,#122B4A 0%,#152F52 58%,#173454 100%);
}

/* Non-home secondary services carousel. */
.ctc-service-carousel{position:relative;margin-top:4px}
.ctc-carousel-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.ctc-carousel-head>span{font:700 11px/1 "Space Mono",monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--ctc-rust)}
.ctc-carousel-head>div{display:flex;gap:8px}
.ctc-carousel-head button{
  width:43px;
  height:43px;
  display:grid;
  place-items:center;
  border:1px solid var(--ctc-line);
  border-radius:50%;
  background:var(--ctc-paper);
  color:var(--ctc-ink);
  font-size:18px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,opacity .2s ease;
}
.ctc-carousel-head button:hover:not(:disabled){background:var(--ctc-green);border-color:var(--ctc-green);color:#fff}
.ctc-carousel-head button:disabled{opacity:.28;cursor:not-allowed}
.ctc-service-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 32px)/3);
  gap:16px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:inline mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding:4px 0 26px;
}
.ctc-service-track::-webkit-scrollbar{display:none}
.ctc-service-track .ctc-service-card{scroll-snap-align:start;height:100%;display:flex;flex-direction:column}
.ctc-service-track .ctc-service-card>div{display:flex;flex:1;flex-direction:column}
.ctc-service-track .ctc-service-card .ctc-text-link{margin-top:auto;padding-top:15px}
.ctc-service-track:focus-visible{outline:2px solid var(--ctc-gold);outline-offset:4px}

@media(max-width:760px){
  .ctc-service-track{grid-auto-columns:calc((100% - 16px)/2)}
}
@media(max-width:680px){
  .ctc-postcode-quickcheck>div{grid-template-columns:1fr}
  .ctc-postcode-quickcheck .ctc-btn{width:100%}
}
@media(max-width:520px){
  .ctc-service-track{grid-auto-columns:86%;gap:12px}
  .ctc-carousel-head{align-items:flex-end}
}

/* Font Awesome CTA icons */
:where(.ctc-btn,.ctc-sidebar-quote,.ctc-mobile-call,.ctc-sticky-actions a,.ctc-text-link,.ctc-link-grid a,.ctc-scroll-strip a)::after,
.ctc-sidebar-phone::before,
.ctc-carousel-head button::after{
  display:inline-block;
  flex:0 0 auto;
  font-family:"Font Awesome 6 Free";
  font-style:normal;
  font-weight:900;
  line-height:1;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
}
:where(.ctc-btn,.ctc-sidebar-quote,.ctc-mobile-call,.ctc-sticky-actions a,.ctc-text-link,.ctc-link-grid a)::after{
  content:"\f061";
}
.ctc-scroll-strip a::after{content:"\f063";margin-left:8px}
:where(.ctc-btn,.ctc-sidebar-quote,.ctc-mobile-call,.ctc-sticky-actions a,.ctc-text-link,.ctc-link-grid a)[href^="tel:"]::after,
.ctc-sidebar-phone::before{
  content:"\f095";
}
.ctc-form-nav [data-back]::after{display:none}
.ctc-form-nav [data-back]::before{
  content:"\f060";
  display:inline-block;
  font-family:"Font Awesome 6 Free";
  font-style:normal;
  font-weight:900;
  line-height:1;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
}
.ctc-sidebar-phone{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:10px;
  align-items:center;
}
.ctc-sidebar-phone::before{grid-row:1/3}
.ctc-mobile-call{gap:6px}
.ctc-sidebar-quote>span,
.ctc-sticky-actions a>span,
.ctc-text-link>span,
.ctc-link-grid a>span{display:none}
.ctc-carousel-head button{
  display:inline-grid;
  place-items:center;
  font-size:0;
}
.ctc-carousel-head button::after{font-size:14px}
.ctc-carousel-head [data-carousel-prev]::after{content:"\f060"}
.ctc-carousel-head [data-carousel-next]::after{content:"\f061"}

/* Regional hub copy is 15% wider on desktop only. */
@media(min-width:961px){
  .ctc-kind-region .ctc-hero-hub .ctc-hero-copy{width:100%;max-width:1081px}
  .ctc-kind-region .ctc-hero-hub h1{width:100%;max-width:1012px}
  .ctc-kind-region .ctc-hero-hub .ctc-hero-sub{width:100%;max-width:874px}
}

/* Stable mobile masthead for the redesigned pages. */
@media(max-width:960px){
  body.ctc-kind-service .ctc-mobile-header,
  body.page-id-88 .ctc-mobile-header,
  body.page-id-90 .ctc-mobile-header,
  body.page-id-91 .ctc-mobile-header,
  body.page-id-96 .ctc-mobile-header{background:var(--ctc-paper);margin-bottom:0;border-bottom:1px solid var(--ctc-line)}
  body.ctc-kind-service .ctc-mobile-logo-green,
  body.page-id-88 .ctc-mobile-logo-green,
  body.page-id-90 .ctc-mobile-logo-green,
  body.page-id-91 .ctc-mobile-logo-green,
  body.page-id-96 .ctc-mobile-logo-green{display:block}
  body.ctc-kind-service .ctc-mobile-logo-gold,
  body.page-id-88 .ctc-mobile-logo-gold,
  body.page-id-90 .ctc-mobile-logo-gold,
  body.page-id-91 .ctc-mobile-logo-gold,
  body.page-id-96 .ctc-mobile-logo-gold{display:none}
  body.ctc-kind-service .ctc-svc-hero,
  body.page-id-88 .ctc-contact-hero,
  body.page-id-90 .ctc-quote-hero,
  body.page-id-91 .ctc-why-hero{padding-top:72px}
  body.page-id-96 .ctc-about-hero{padding-top:72px}
}

/* Round 3: homepage film, navigation focus and editorial imagery. */
.ctc-home-hero-film{width:min(1040px,100%);margin-top:38px!important}
.ctc-home-hero-film .ctc-film-inner{aspect-ratio:16/9}
.ctc-home-hero-film video{display:block;width:100%;height:100%;object-fit:cover}
.ctc-services-backdrop{display:none}
@media(min-width:961px){
  .ctc-services-backdrop{display:block;position:fixed;z-index:280;inset:0 0 0 var(--ctc-sidebar);background:rgba(5,18,13,.38);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .24s ease,visibility .24s ease}
  .ctc-sidebar:has(.ctc-services-nav:hover)+.ctc-services-backdrop,
  .ctc-sidebar:has(.ctc-services-nav:focus-within)+.ctc-services-backdrop,
  .ctc-sidebar:has(.ctc-services-nav.is-open)+.ctc-services-backdrop{opacity:1;visibility:visible}
  .ctc-services-nav:hover>button,.ctc-services-nav:focus-within>button,.ctc-services-nav.is-open>button{background:#0a2b20;color:#fff}
  .ctc-service-flyout{background:#09271d;border-color:rgba(216,181,99,.2);box-shadow:24px 28px 70px rgba(2,12,8,.54)}
}
.ctc-post-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.ctc-post-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--ctc-paper-2);border-bottom:1px solid var(--ctc-line)}
.ctc-post-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s ease,filter .3s ease}
.ctc-post-card:hover .ctc-post-card-image img{transform:scale(1.035);filter:saturate(1.05)}
.ctc-post-card-body{display:flex;flex:1;flex-direction:column;padding:25px 27px 27px}
.ctc-post-card-body>.ctc-text-link{margin-top:auto;padding-top:2px}
.ctc-article-featured{margin:38px 0 0;overflow:hidden;border:3px solid var(--ctc-gold);padding:8px;background:var(--ctc-green);box-shadow:var(--ctc-shadow)}
.ctc-article-featured img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
@media(max-width:760px){
  .ctc-home-hero-film{margin-top:30px!important}
  .ctc-home-hero-film .ctc-price{right:8px;bottom:8px;padding:10px 12px}
  .ctc-home-hero-film .ctc-price strong{font-size:17px}
  .ctc-post-card-body{padding:22px}
  .ctc-article-featured{margin-top:28px;padding:5px}
}

/* Mobile and tablet navigation clarity. */
@media(max-width:960px){
  .ctc-mobile-header>a img{width:162px}
  .ctc-mobile-call{
    width:auto;
    min-width:70px;
    height:42px;
    padding:0 16px;
    border-radius:999px;
  }
  .ctc-sidebar{
    top:0;
    bottom:0;
    height:100vh;
    height:100dvh;
    max-height:100dvh;
    overflow-y:auto;
    overscroll-behavior:contain;
    justify-content:flex-start;
    padding-bottom:max(24px,env(safe-area-inset-bottom));
    -webkit-overflow-scrolling:touch;
  }
  .ctc-sidebar-top{flex:0 0 auto}
  .ctc-sidebar-bottom{flex:0 0 auto;margin-top:24px;padding-bottom:8px}
  .ctc-sidebar-phone{
    margin-top:10px;
    padding:12px;
    border:1px solid rgba(216,181,99,.55);
    border-radius:4px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .ctc-sidebar-phone small{color:var(--ctc-gold-light)}
  .ctc-sidebar-phone strong{margin-top:0;color:#fff;white-space:nowrap}
  .ctc-menu-open .ctc-mobile-header>a,
  .ctc-menu-open .ctc-mobile-call{opacity:0;visibility:hidden;pointer-events:none}
  .ctc-mobile-header>a,
  .ctc-mobile-call{transition:opacity .2s ease,visibility .2s ease}

  body:is(.home,.ctc-kind-region,.ctc-kind-postcode,.ctc-kind-area,.ctc-page-curtain-cleaning-london,.ctc-page-emergency-cleaning-london,.ctc-page-sewage-cleanup-london,.ctc-page-contact,.ctc-page-quote) .ctc-mobile-header{
    background:transparent;
    margin-bottom:-72px;
    border-bottom:0;
  }
  body:is(.home,.ctc-kind-region,.ctc-kind-postcode,.ctc-kind-area,.ctc-page-curtain-cleaning-london,.ctc-page-emergency-cleaning-london,.ctc-page-sewage-cleanup-london,.ctc-page-contact,.ctc-page-quote) .ctc-mobile-logo-green{display:none}
  body:is(.home,.ctc-kind-region,.ctc-kind-postcode,.ctc-kind-area,.ctc-page-curtain-cleaning-london,.ctc-page-emergency-cleaning-london,.ctc-page-sewage-cleanup-london,.ctc-page-contact,.ctc-page-quote) .ctc-mobile-logo-gold{display:block}
  body:is(.home,.ctc-kind-region,.ctc-kind-postcode,.ctc-kind-area,.ctc-page-curtain-cleaning-london,.ctc-page-emergency-cleaning-london,.ctc-page-sewage-cleanup-london,.ctc-page-contact,.ctc-page-quote) .ctc-mobile-call{
    background:var(--ctc-paper);
    color:var(--ctc-green);
    border:1px solid rgba(255,255,255,.7);
  }
}
@media(max-width:520px){
  .ctc-mobile-header>a img{width:140px}
  .ctc-mobile-call{min-width:66px;padding-inline:14px}
}

/* Round 4: clearer enquiry choices, editorial article heroes and address details. */
.ctc-sidebar-address{
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(255,255,255,.14);
  color:rgba(255,255,255,.68);
  font:600 11px/1.55 "DM Sans",sans-serif;
  font-style:normal;
}
.ctc-service-picker{min-width:0;margin:0;padding:0;border:0}
.ctc-service-picker legend{
  margin-bottom:10px;
  font:700 10px "Space Mono",monospace;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:rgba(255,255,255,.62);
}
.ctc-service-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ctc-fields .ctc-service-options label{display:block;position:relative;cursor:pointer}
.ctc-service-options input{position:absolute;opacity:0;pointer-events:none}
.ctc-fields .ctc-service-options label>span{
  min-height:106px;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:13px 10px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:5px;
  background:rgba(255,255,255,.055);
  color:rgba(255,255,255,.8);
  text-align:center;
  font:700 11px/1.25 "DM Sans",sans-serif;
  text-transform:none;
  letter-spacing:0;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.ctc-service-options img{width:48px;height:48px;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}
.ctc-service-options b{font:inherit}
.ctc-service-options label:hover>span{border-color:rgba(216,181,99,.7);transform:translateY(-2px)}
.ctc-service-options input:checked+span{border-color:var(--ctc-gold);background:rgba(216,181,99,.16);box-shadow:inset 0 0 0 1px var(--ctc-gold)}
.ctc-service-options input:focus-visible+span{outline:2px solid #fff;outline-offset:3px}
.ctc-fields select{min-height:48px}
.ctc-full-field.ctc-field-wide{grid-column:1/-1}

.ctc-article-hero{
  position:relative;
  min-height:650px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  padding:150px 0 76px;
  background-color:var(--ctc-green);
  background-position:center;
  background-size:cover;
  color:#fff;
}
.ctc-article-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,22,17,.96) 0%,rgba(6,22,17,.82) 47%,rgba(6,22,17,.3) 78%,rgba(6,22,17,.2) 100%),linear-gradient(0deg,rgba(6,22,17,.68),transparent 60%);
}
.ctc-article-hero:not(.has-featured-image)::before{
  background:linear-gradient(115deg,rgba(6,22,17,.98),rgba(17,54,41,.88));
}
.ctc-article-hero .ctc-wrap{position:relative;z-index:1;width:100%}
.ctc-article-hero h1{max-width:880px;color:#fff;text-wrap:balance}
.ctc-article-hero .ctc-eyebrow{color:var(--ctc-gold-light)}
.ctc-article-breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;font-size:11px;color:rgba(255,255,255,.58)}
.ctc-article-breadcrumbs a{color:rgba(255,255,255,.82)}
.ctc-article-breadcrumbs a:hover{color:var(--ctc-gold-light)}
.ctc-article-teaser{max-width:690px;margin-top:18px;font-size:17px;line-height:1.65;color:rgba(255,255,255,.8)}
.ctc-article-hero .ctc-article-meta{color:var(--ctc-gold-light)}
.ctc-article-hero .ctc-post-byline{color:rgba(255,255,255,.76)}
.ctc-article-hero .ctc-post-byline strong{color:#fff}

@media(max-width:960px){
  .ctc-service-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.single-post .ctc-mobile-header{background:transparent;margin-bottom:-72px;border-bottom:0}
  body.single-post .ctc-mobile-logo-green{display:none}
  body.single-post .ctc-mobile-logo-gold{display:block}
  body.single-post .ctc-mobile-call{background:var(--ctc-paper);color:var(--ctc-green);border:1px solid rgba(255,255,255,.7)}
}
@media(max-width:680px){
  .ctc-service-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ctc-article-hero{min-height:610px;padding:132px 0 60px;background-position:62% center}
  .ctc-article-hero::before{background:linear-gradient(90deg,rgba(6,22,17,.94),rgba(6,22,17,.62)),linear-gradient(0deg,rgba(6,22,17,.82),transparent 65%)}
  .ctc-article-teaser{font-size:15px}
}
@media(max-width:420px){
  .ctc-fields .ctc-service-options label>span{min-height:96px;padding:10px 7px}
  .ctc-service-options img{width:40px;height:40px}
}

/* August 2026: quote experience, legal pages and cookie consent. */

.ctc-quote-shell{
	padding:0;
	overflow:hidden;
	border:1px solid rgba(216,181,99,.25);
	border-radius:8px;
	background:#0d2922;
	box-shadow:0 34px 80px -42px rgba(4,18,14,.9);
}
.ctc-quote-shell .ctc-quote-head{
	margin:0;
	padding:38px 42px 0;
	align-items:center;
}
.ctc-quote-shell .ctc-quote-head p{max-width:660px}
.ctc-quote-form-v2{margin-top:34px}
.ctc-form-layout{
	display:grid;
	grid-template-columns:300px minmax(0,1fr);
	border-top:1px solid rgba(255,255,255,.1);
}
.ctc-form-intro{
	display:flex;
	flex-direction:column;
	min-width:0;
	padding:42px 34px 32px;
	background:
		linear-gradient(155deg,rgba(5,21,17,.82),rgba(14,47,38,.94)),
		radial-gradient(circle at 20% 10%,rgba(216,181,99,.12),transparent 42%);
	border-right:1px solid rgba(255,255,255,.11);
	color:#fff;
}
.ctc-form-kicker,.ctc-form-promise-title{
	color:var(--ctc-gold-light);
	font:700 9px/1.4 "Space Mono",monospace;
	letter-spacing:.15em;
	text-transform:uppercase;
}
.ctc-form-intro h3{
	max-width:230px;
	margin-top:14px;
	color:#fff;
	font-size:clamp(31px,3.4vw,46px);
	line-height:1.04;
}
.ctc-form-intro>p{
	margin-top:18px;
	color:rgba(255,255,255,.68);
	font-size:14px;
	line-height:1.65;
}
.ctc-form-intro-rule{
	width:78%;
	height:2px;
	margin:26px 0 24px;
	background:linear-gradient(90deg,var(--ctc-gold),transparent);
}
.ctc-form-promises{
	display:grid;
	gap:19px;
	margin:18px 0 26px;
	padding:0;
	list-style:none;
}
.ctc-form-promises li,.ctc-form-help{
	display:grid;
	grid-template-columns:38px minmax(0,1fr);
	gap:12px;
	align-items:start;
}
.ctc-form-promises svg,.ctc-form-help svg{
	width:34px;
	height:34px;
	padding:8px;
	border:1px solid rgba(216,181,99,.35);
	border-radius:50%;
	fill:none;
	stroke:var(--ctc-gold-light);
	stroke-width:1.7;
	stroke-linecap:round;
	stroke-linejoin:round;
}
.ctc-form-promises strong,.ctc-form-help strong{
	display:block;
	color:#fff;
	font-size:12px;
	line-height:1.35;
}
.ctc-form-promises small,.ctc-form-help small{
	display:block;
	margin-top:4px;
	color:rgba(255,255,255,.55);
	font-size:10px;
	line-height:1.45;
}
.ctc-form-help{
	margin-top:auto;
	padding:14px;
	border:1px solid rgba(255,255,255,.12);
	border-radius:5px;
	background:rgba(255,255,255,.035);
}
.ctc-form-help:hover{border-color:rgba(216,181,99,.6);background:rgba(216,181,99,.08)}
.ctc-form-workspace{min-width:0;padding:34px 38px 30px}
.ctc-form-progress{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:22px;
	margin:0 0 34px;
	padding:0 0 28px;
	border-bottom:1px solid rgba(255,255,255,.12);
	list-style:none;
}
.ctc-form-progress li{
	position:relative;
	display:grid;
	grid-template-columns:34px minmax(0,1fr);
	gap:10px;
	align-items:center;
	min-width:0;
}
.ctc-form-progress li:not(:last-child)::after{
	content:"";
	position:absolute;
	z-index:0;
	top:16px;
	left:44px;
	right:-12px;
	height:1px;
	background:rgba(255,255,255,.16);
}
.ctc-form-progress li:first-child::after{background:linear-gradient(90deg,var(--ctc-gold),rgba(216,181,99,.22))}
.ctc-form-progress i{
	position:relative;
	z-index:1;
	width:34px;
	height:34px;
	display:grid;
	place-items:center;
	border:1px solid rgba(255,255,255,.25);
	border-radius:50%;
	background:#12352b;
	color:rgba(255,255,255,.55);
	font:700 11px "Space Mono",monospace;
	font-style:normal;
}
.ctc-form-progress i.is-active{
	border-color:var(--ctc-gold);
	background:rgba(216,181,99,.12);
	color:var(--ctc-gold-light);
	box-shadow:0 0 0 3px rgba(216,181,99,.07);
}
.ctc-form-progress strong{
	display:block;
	color:rgba(255,255,255,.86);
	font-size:10px;
	line-height:1.3;
}
.ctc-form-progress small{
	display:block;
	margin-top:2px;
	color:rgba(255,255,255,.42);
	font-size:9px;
	line-height:1.3;
}
.ctc-quote-form-v2 .ctc-step-label{margin-bottom:18px;color:var(--ctc-gold-light)}
.ctc-quote-form-v2 .ctc-fields{gap:14px}
.ctc-service-picker,.ctc-property-picker{min-width:0;margin:0;padding:0;border:0}
.ctc-service-picker legend,.ctc-property-picker legend{
	margin-bottom:10px;
	color:rgba(255,255,255,.64);
	font:700 9px "Space Mono",monospace;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.ctc-service-options,.ctc-property-options{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:9px;
}
.ctc-fields .ctc-service-options label,.ctc-fields .ctc-property-options label{
	position:relative;
	display:block;
	min-width:0;
	cursor:pointer;
}
.ctc-service-options input,.ctc-property-options input{
	position:absolute;
	opacity:0;
	pointer-events:none;
}
.ctc-fields .ctc-service-options label>span,.ctc-fields .ctc-property-options label>span{
	position:relative;
	min-height:104px;
	height:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:12px 8px;
	overflow:hidden;
	border:1px solid rgba(255,255,255,.17);
	border-radius:5px;
	background:rgba(255,255,255,.035);
	color:rgba(255,255,255,.82);
	text-align:center;
	text-transform:none;
	letter-spacing:0;
	font:700 10px/1.28 "DM Sans",sans-serif;
	transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease;
}
.ctc-service-options img,.ctc-property-options img{
	width:43px;
	height:43px;
	object-fit:contain;
	filter:brightness(0) invert(1);
	opacity:.92;
}
.ctc-service-options b,.ctc-property-options b{font:inherit}
.ctc-service-options label:hover>span,.ctc-property-options label:hover>span{
	border-color:rgba(216,181,99,.7);
	background:rgba(216,181,99,.08);
	transform:translateY(-2px);
}
.ctc-service-options input:checked+span,.ctc-property-options input:checked+span{
	border-color:var(--ctc-gold);
	background:rgba(216,181,99,.13);
	box-shadow:inset 0 0 0 1px var(--ctc-gold);
	color:#fff;
}
.ctc-service-options input:checked+span::after,.ctc-property-options input:checked+span::after{
	content:"\2713";
	position:absolute;
	top:8px;
	right:8px;
	width:20px;
	height:20px;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:var(--ctc-gold);
	color:#241a04;
	font:800 12px "DM Sans",sans-serif;
}
.ctc-service-options input:focus-visible+span,.ctc-property-options input:focus-visible+span{
	outline:2px solid #fff;
	outline-offset:3px;
}
.ctc-quote-form-v2 .ctc-fields input,.ctc-quote-form-v2 .ctc-fields select,.ctc-quote-form-v2 .ctc-full-field textarea{
	min-height:50px;
	border-color:rgba(255,255,255,.18);
	background:rgba(255,255,255,.045);
}
.ctc-quote-form-v2 .ctc-full-field textarea{min-height:140px}
.ctc-form-security{
	margin-top:22px;
	padding-top:16px;
	border-top:1px solid rgba(255,255,255,.1);
	color:rgba(255,255,255,.46);
	font-size:10px;
}
.ctc-quote-form-v2 .ctc-form-nav{align-items:center}
.ctc-quote-form-v2 .ctc-form-nav .ctc-btn{min-width:150px;justify-content:space-between}
.ctc-quote-form-v2 .ctc-consent a{
	color:var(--ctc-gold-light);
	text-decoration:underline;
	text-underline-offset:3px;
}

/* Legal and policy pages. */
.ctc-legal-hero{
	padding:145px 0 72px;
	background:
		linear-gradient(135deg,rgba(10,35,27,.97),rgba(24,70,57,.93)),
		linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%);
	color:#fff;
}
.ctc-legal-hero h1{max-width:850px;color:#fff;font-size:clamp(43px,6vw,72px)}
.ctc-legal-hero p{max-width:700px;margin-top:18px;color:rgba(255,255,255,.7);font-size:17px;line-height:1.7}
.ctc-legal-content{
	max-width:920px;
	padding-top:6px;
	padding-bottom:10px;
}
.ctc-legal-content h2{
	margin:46px 0 14px;
	padding-top:20px;
	border-top:1px solid var(--ctc-line);
	font-size:clamp(25px,3vw,34px);
}
.ctc-legal-content h2:first-child{margin-top:0;padding-top:0;border-top:0}
.ctc-legal-content h3{margin:28px 0 10px;font-size:20px}
.ctc-legal-content p,.ctc-legal-content li{color:var(--ctc-ink-70);font-size:15px;line-height:1.8}
.ctc-legal-content p+p{margin-top:14px}
.ctc-legal-content ul,.ctc-legal-content ol{display:grid;gap:9px;margin:16px 0 20px;padding-left:22px}
.ctc-legal-content a{color:var(--ctc-rust);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ctc-legal-note{padding:18px 20px;border-left:3px solid var(--ctc-gold);background:var(--ctc-paper)}

/* Equal-choice cookie banner. */
.ctc-cookie-banner{
	position:fixed;
	z-index:500;
	left:calc(var(--ctc-sidebar) + 24px);
	right:24px;
	bottom:18px;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	gap:28px;
	align-items:center;
	padding:24px 26px;
	border:1px solid rgba(216,181,99,.5);
	border-radius:7px;
	background:#0b2820;
	color:#fff;
	box-shadow:0 24px 70px rgba(0,0,0,.48);
}
.ctc-cookie-banner[hidden]{display:none}
.ctc-cookie-copy>span{
	color:var(--ctc-gold-light);
	font:700 9px "Space Mono",monospace;
	letter-spacing:.12em;
	text-transform:uppercase;
}
.ctc-cookie-copy h2{margin-top:5px;color:#fff;font-size:22px}
.ctc-cookie-copy p{max-width:760px;margin-top:7px;color:rgba(255,255,255,.69);font-size:12px;line-height:1.55}
.ctc-cookie-copy a{display:inline-block;margin-top:7px;color:var(--ctc-gold-light);font-size:11px;text-decoration:underline;text-underline-offset:3px}
.ctc-cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ctc-cookie-actions button{
	min-width:122px;
	min-height:46px;
	padding:11px 16px;
	border:1px solid var(--ctc-gold);
	border-radius:3px;
	background:transparent;
	color:var(--ctc-gold-light);
	font-weight:800;
	cursor:pointer;
}
.ctc-cookie-actions button:last-child{background:var(--ctc-gold);color:#241a04}
.ctc-cookie-actions button:hover,.ctc-cookie-actions button:focus-visible{box-shadow:0 0 0 3px rgba(216,181,99,.18)}
.ctc-footer-legal{display:flex;flex-wrap:wrap;gap:14px}
.ctc-footer-legal a,.ctc-footer-legal button{
	padding:0;
	border:0;
	background:none;
	color:inherit;
	font:inherit;
	text-transform:inherit;
	cursor:pointer;
}
.ctc-footer-legal a:hover,.ctc-footer-legal button:hover{color:var(--ctc-gold-light)}

@media(max-width:1180px){
	.ctc-form-layout{grid-template-columns:260px minmax(0,1fr)}
	.ctc-form-intro{padding-inline:27px}
	.ctc-form-workspace{padding-inline:30px}
	.ctc-service-options,.ctc-property-options{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:960px){
	.ctc-form-layout{grid-template-columns:1fr}
	.ctc-form-intro{border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}
	.ctc-form-intro h3{max-width:600px}
	.ctc-form-promises{grid-template-columns:repeat(3,minmax(0,1fr))}
	.ctc-form-help{margin-top:0;max-width:360px}
	.ctc-service-options,.ctc-property-options{grid-template-columns:repeat(2,minmax(0,1fr))}
	.ctc-cookie-banner{left:18px;right:18px;bottom:12px}
}
@media(max-width:680px){
	.ctc-quote-shell .ctc-quote-head{display:block;padding:30px 22px 0}
	.ctc-quote-shell .ctc-quote-head>a{margin-top:18px}
	.ctc-quote-form-v2{margin-top:26px}
	.ctc-form-intro{padding:30px 22px 26px}
	.ctc-form-intro h3{font-size:36px}
	.ctc-form-promises{grid-template-columns:1fr;gap:15px}
	.ctc-form-workspace{padding:26px 18px 24px}
	.ctc-form-progress{gap:6px}
	.ctc-form-progress li{grid-template-columns:30px 1fr;gap:6px}
	.ctc-form-progress i{width:30px;height:30px}
	.ctc-form-progress li:not(:last-child)::after{top:14px;left:36px;right:-4px}
	.ctc-form-progress strong{font-size:8px}
	.ctc-form-progress small{display:none}
	.ctc-service-options,.ctc-property-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
	.ctc-fields .ctc-service-options label>span,.ctc-fields .ctc-property-options label>span{min-height:98px;padding:10px 6px}
	.ctc-service-options img,.ctc-property-options img{width:39px;height:39px}
	.ctc-quote-form-v2 .ctc-form-nav .ctc-btn{min-width:0}
	.ctc-cookie-banner{
		left:0;
		right:0;
		bottom:0;
		grid-template-columns:1fr;
		gap:18px;
		padding:22px 20px calc(22px + env(safe-area-inset-bottom));
		border-right:0;
		border-bottom:0;
		border-left:0;
		border-radius:0;
	}
	.ctc-cookie-actions button{min-width:0}
	.ctc-legal-hero{padding:126px 0 58px}
}
@media(max-width:380px){
	.ctc-fields .ctc-service-options label>span,.ctc-fields .ctc-property-options label>span{min-height:92px;font-size:9px}
	.ctc-form-progress span{display:none}
	.ctc-form-progress li{display:flex}
	.ctc-form-progress li:not(:last-child)::after{left:36px}
}

/* Quote refinement: service categories and supplied property artwork. */
.ctc-service-groups{display:grid;gap:16px}
.ctc-service-group{
	--ctc-group-accent:var(--ctc-gold);
	position:relative;
	padding:17px;
	overflow:hidden;
	border:1px solid rgba(255,255,255,.12);
	border-radius:6px;
	background:linear-gradient(115deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
.ctc-service-group::before{
	content:"";
	position:absolute;
	inset:0 auto 0 0;
	width:3px;
	background:var(--ctc-group-accent);
}
.ctc-service-group>header{
	display:flex;
	gap:11px;
	align-items:flex-start;
	margin-bottom:13px;
}
.ctc-service-group>header>span{
	flex:0 0 auto;
	width:9px;
	height:9px;
	margin-top:4px;
	border:2px solid var(--ctc-group-accent);
	transform:rotate(45deg);
}
.ctc-service-group h4{color:#fff;font:700 14px/1.25 "Bitter",serif}
.ctc-service-group header p{margin-top:3px;color:rgba(255,255,255,.47);font-size:9px;line-height:1.45}
.ctc-service-group--property-and-repair{--ctc-group-accent:#67a5bd}
.ctc-service-group--urgent-and-specialist{--ctc-group-accent:#e16d4f}
.ctc-service-group .ctc-service-options{gap:8px}
.ctc-service-group--home-and-fabric-care .ctc-service-options{grid-template-columns:repeat(5,minmax(0,1fr))}
.ctc-service-group--property-and-repair .ctc-service-options{grid-template-columns:repeat(2,minmax(0,1fr));max-width:370px}
.ctc-service-group--urgent-and-specialist .ctc-service-options{grid-template-columns:repeat(3,minmax(0,1fr))}
.ctc-fields .ctc-service-group .ctc-service-options label>span{
	min-height:88px;
	padding:9px 6px;
	border-color:rgba(255,255,255,.14);
	background:rgba(3,19,15,.18);
}
.ctc-service-group .ctc-service-options img{width:36px;height:36px}
.ctc-service-group .ctc-service-options input:checked+span{border-color:var(--ctc-group-accent);box-shadow:inset 0 0 0 1px var(--ctc-group-accent)}
.ctc-service-group .ctc-service-options input:checked+span::after{background:var(--ctc-group-accent)}
.ctc-selected-service{
	display:flex;
	gap:18px;
	align-items:center;
	max-width:520px;
	padding:20px;
	border:1px solid rgba(216,181,99,.48);
	border-radius:6px;
	background:linear-gradient(120deg,rgba(216,181,99,.13),rgba(255,255,255,.025));
}
.ctc-selected-service>img{
	flex:0 0 auto;
	width:58px;
	height:58px;
	padding:8px;
	object-fit:contain;
	filter:brightness(0) invert(1);
	border:1px solid rgba(216,181,99,.35);
	border-radius:50%;
}
.ctc-selected-service small{
	display:block;
	color:var(--ctc-gold-light);
	font:700 8px "Space Mono",monospace;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.ctc-selected-service strong{display:block;margin-top:4px;color:#fff;font:700 18px "Bitter",serif}
.ctc-selected-service em{display:block;margin-top:5px;color:rgba(255,255,255,.54);font-size:10px;font-style:normal}
.ctc-property-icon{
	width:58px;
	height:58px;
	display:grid;
	place-items:center;
	border:1px solid rgba(216,181,99,.28);
	border-radius:50%;
	background:radial-gradient(circle,rgba(216,181,99,.13),rgba(216,181,99,.025));
}
.ctc-property-options .ctc-property-icon img{
	width:46px;
	height:46px;
	object-fit:contain;
	filter:brightness(0) invert(1);
	opacity:1;
}
.ctc-fields .ctc-property-options label>span{min-height:124px}
.ctc-form-workspace{scroll-margin-top:20px}
@media(max-width:960px){
	.ctc-form-workspace{scroll-margin-top:82px}
	.ctc-service-group--home-and-fabric-care .ctc-service-options,
	.ctc-service-group--property-and-repair .ctc-service-options,
	.ctc-service-group--urgent-and-specialist .ctc-service-options{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
}
@media(max-width:680px){
	.ctc-service-group{padding:14px 12px}
	.ctc-service-group header p{font-size:8px}
	.ctc-fields .ctc-service-group .ctc-service-options label>span{min-height:86px}
	.ctc-property-icon{width:52px;height:52px}
	.ctc-property-options .ctc-property-icon img{width:41px;height:41px}
	.ctc-fields .ctc-property-options label>span{min-height:116px}
}

/* Responsive polish: quote legibility, consent focus, navigation and footer alignment. */
html{
	scrollbar-color:var(--ctc-green) var(--ctc-paper-2);
	scrollbar-width:thin;
}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:var(--ctc-paper-2)}
::-webkit-scrollbar-thumb{border:2px solid var(--ctc-paper-2);border-radius:999px;background:var(--ctc-green)}
::-webkit-scrollbar-thumb:hover{background:var(--ctc-green-2)}
html.ctc-cookie-open,html.ctc-cookie-open body{overflow:hidden}
html.ctc-cookie-open::before{
	content:"";
	position:fixed;
	inset:0;
	z-index:490;
	background:rgba(4,17,13,.25);
	-webkit-backdrop-filter:blur(2.5px);
	backdrop-filter:blur(2.5px);
}
@media(min-width:961px){
	.ctc-fields .ctc-service-group .ctc-service-options label>span{min-height:104px;font-size:15px}
	.ctc-form-promises strong{font-size:13.5px}
	.ctc-form-promises small{font-size:11px}
}
@media(max-width:960px){
	.ctc-mobile-header{
		height:calc(79px + env(safe-area-inset-top));
		padding:calc(17px + env(safe-area-inset-top)) 20px 10px;
	}
	body:is(.home,.ctc-kind-region,.ctc-kind-postcode,.ctc-kind-area,.ctc-page-curtain-cleaning-london,.ctc-page-emergency-cleaning-london,.ctc-page-sewage-cleanup-london,.ctc-page-contact,.ctc-page-quote) .ctc-mobile-header,
	body.single-post .ctc-mobile-header{margin-bottom:calc(-79px - env(safe-area-inset-top))}
	.ctc-mobile-call{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;white-space:nowrap}
	.ctc-sticky-actions a[href^="tel:"]{align-items:center;white-space:nowrap}
	.ctc-service-group header p{font-size:10px}
	.ctc-footer-grid>div,.ctc-footer-bottom{text-align:center}
	.ctc-footer-brand img{margin-right:auto;margin-left:auto}
	.ctc-footer-bottom{flex-direction:column;justify-content:center;align-items:center;gap:12px}
	.ctc-footer-legal{justify-content:center}
}
@media(max-width:680px){
	.ctc-service-group header p{font-size:9px}
}
@media(max-width:520px){
	.ctc-footer-grid,.ctc-footer-bottom{justify-items:center}
}

/* Accessibility and form anti-spam refinements. */
.ctc-honeypot{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
.ctc-form-kicker,.ctc-form-promise-title,.ctc-service-picker legend,.ctc-property-picker legend{font-size:12px}
.ctc-form-promises strong,.ctc-form-help strong{font-size:14px}
.ctc-form-promises small,.ctc-form-help small{font-size:12.5px;line-height:1.5}
.ctc-form-progress strong{font-size:12.5px}
.ctc-form-progress small{font-size:12px}
.ctc-form-security{font-size:13px;line-height:1.5}
.ctc-service-group header p{font-size:12px;line-height:1.5}
.ctc-selected-service small{font-size:12px}
.ctc-selected-service em{font-size:12.5px;line-height:1.45}
.ctc-consent{font-size:14px!important;line-height:1.55!important}
.ctc-sidebar-phone-mobile{margin-top:8px}
.ctc-footer-brand>a[href^="tel:"]{display:block;margin-top:5px}

/* Mobile and tablet masthead overlays the opening page field, matching desktop.
   Use the gold mark on dark opening fields and the green mark on light ones. */
@media(max-width:960px){
	.ctc-mobile-header{
		background:transparent!important;
		border-bottom:0!important;
		margin-bottom:-72px!important;
	}
	.ctc-mobile-logo-green{display:block!important}
	.ctc-mobile-logo-gold{display:none!important}

	body.ctc-page-home .ctc-mobile-logo-green,
	body.ctc-kind-region .ctc-mobile-logo-green,
	body.ctc-kind-postcode .ctc-mobile-logo-green,
	body.ctc-kind-area .ctc-mobile-logo-green,
	body.ctc-kind-overview .ctc-mobile-logo-green,
	body.ctc-kind-core:not(.ctc-page-why-choose-us):not(.ctc-page-about) .ctc-mobile-logo-green,
	body.ctc-page-emergency-cleaning-london .ctc-mobile-logo-green,
	body.ctc-page-sewage-cleanup-london .ctc-mobile-logo-green,
	body.author .ctc-mobile-logo-green{display:none!important}

	body.ctc-page-home .ctc-mobile-logo-gold,
	body.ctc-kind-region .ctc-mobile-logo-gold,
	body.ctc-kind-postcode .ctc-mobile-logo-gold,
	body.ctc-kind-area .ctc-mobile-logo-gold,
	body.ctc-kind-overview .ctc-mobile-logo-gold,
	body.ctc-kind-core:not(.ctc-page-why-choose-us):not(.ctc-page-about) .ctc-mobile-logo-gold,
	body.ctc-page-emergency-cleaning-london .ctc-mobile-logo-gold,
	body.ctc-page-sewage-cleanup-london .ctc-mobile-logo-gold,
	body.author .ctc-mobile-logo-gold{display:block!important}

	/* Restore the hero spacing used by the original overlay masthead. */
	body.ctc-page-home .ctc-home-hero-v2{padding-top:132px}
	body.ctc-kind-service .ctc-svc-hero{padding-top:125px}
	body.ctc-page-contact .ctc-contact-hero,
	body.ctc-page-quote .ctc-quote-hero,
	body.ctc-page-why-choose-us .ctc-why-hero{padding-top:135px}
	body.ctc-page-about .ctc-about-hero{padding-top:96px}

	.ctc-mobile-call{
		background:var(--ctc-green)!important;
		border-color:var(--ctc-green)!important;
		color:#fff!important;
	}
}
@media(max-width:520px){
	body.ctc-page-home .ctc-home-hero-v2{padding-top:118px}
}

/* Responsive sticky actions: compact on tablets and contextual beside quote forms. */
@media(max-width:960px){
	.ctc-sticky-actions{
		left:50%;
		right:auto;
		bottom:max(14px,env(safe-area-inset-bottom));
		width:min(calc(100vw - 56px),720px);
		overflow:hidden;
		border:1px solid rgba(255,255,255,.14);
		border-radius:999px;
		transform:translate(-50%,20px);
	}
	.ctc-sticky-actions.is-visible{transform:translate(-50%,0)}
	.ctc-sticky-actions a{min-height:54px;align-items:center;gap:12px;padding:14px 22px}
	.ctc-sticky-actions .ctc-sticky-call-default{display:inline}
	.ctc-sticky-actions .ctc-sticky-call-form{display:none}
	body:has([data-ctc-v3]) .ctc-sticky-actions{
		left:auto;
		right:18px;
		width:min(calc(100vw - 36px),360px);
		grid-template-columns:1fr;
		transform:translateY(20px);
	}
	body:has([data-ctc-v3]) .ctc-sticky-actions.is-visible{transform:none}
	body:has([data-ctc-v3]) .ctc-sticky-quote{display:none}
	body:has([data-ctc-v3]) .ctc-sticky-call{justify-content:center;background:var(--ctc-green);color:#fff}
	body:has([data-ctc-v3]) .ctc-sticky-call-default{display:none}
	body:has([data-ctc-v3]) .ctc-sticky-call-form{display:inline}
}
@media(max-width:680px){
	.ctc-sticky-actions{
		left:10px;
		right:10px;
		bottom:max(10px,env(safe-area-inset-bottom));
		width:auto;
		transform:translateY(20px);
	}
	.ctc-sticky-actions.is-visible{transform:none}
	body:has([data-ctc-v3]) .ctc-sticky-actions{
		left:auto;
		right:10px;
		width:min(calc(100vw - 20px),350px);
	}
}


