/* Kingsmead's charcoal and gold, with clear, rounded section joins. */
:root {
  --ink: #20201d;
  --paper: #f3f0e8;
  --line: #dbd5c7;
  --muted: #646158;
  --night: #1c1c1a;
  --light-ink: #f6f3e9;
  --light-muted: #c9c5bb;
}
body { background: var(--paper); }
.demo-strip { background: #141412; border-bottom: 1px solid #ffffff0c; }
.header { background: #1c1c1af5; color: var(--light-ink); border-bottom-color: #ffffff13; backdrop-filter: blur(16px); }
.header .brand svg { color: var(--gold-bright); }
.navigation > a:hover, .services-menu summary:hover, .services-menu summary > span { color: #e6c773; }
.services-menu > div { background: #292926; border-color: #ffffff24; box-shadow: 0 15px 40px #0004; }
.services-menu a:hover { background: #ffffff0c; color: #e6c773; }
.hero {
  position: relative;
  isolation: isolate;
  color: var(--light-ink);
  background: radial-gradient(ellipse at 83% 19%, #b8922a12, transparent 52%), var(--night);
  border-bottom: 0;
  padding-top: 34px;
  padding-bottom: 54px;
}
.pill { background: #d4aa4216; border: 1px solid #d4aa4252; color: #e3c579; }
.hero h1 > span { color: #d4aa42; }
.hero-lead, .reassurance { color: #d2cec3; }
.hero .check { color: #dfbd63; border-color: #dfbd6380; }
.hero-carousel figure { border-color: #ffffff30; box-shadow: 0 20px 50px #0003; }
.photo-note, .quiet { color: #bfb9ad; }
.hero .button.secondary { background: #ffffff07; color: #f6f3e9; border-color: #ffffff3d; }
.hero .button.secondary:hover { background: #ffffff14; }
.carousel-pagination button::before { background: #7c786d; }
.carousel-pagination button[aria-pressed=true]::before { background: #d4aa42; }
.projects {
  position: relative;
  background: var(--night);
  color: var(--light-ink);
  padding-top: 32px;
  padding-bottom: 90px;
}
.projects::after, .areas::after {
  display: none;
}
.projects .eyebrow, .about .eyebrow, .areas .eyebrow { color: #d4b66c; }
.projects .section-intro > p, .projects .project-copy p { color: var(--light-muted); }
.project-card { background: #262622; border-color: #ffffff20; }
.project-copy { padding: 25px 22px; }
.project-copy h3 { color: var(--light-ink); }
.project-copy .text-button { color: #e0c274; }
.project-card:hover { border-color: #d4aa4259; }
.services {
  position: relative;
  background: var(--paper);
  border: 0;
  border-radius: 38px 38px 0 0;
  margin-top: -30px;
  padding-top: 66px;
}
.service-card { background: #f8f5ed; border-color: #dad4c7; box-shadow: 0 4px 16px #11141003; }
.service-card:hover { background: #fdf9ef; box-shadow: 0 9px 25px #1114100a; }
.service-icon { background: #e9dfc2; }
.quote { background: var(--paper); padding-top: 30px; padding-bottom: 75px; }
.quote-form-panel { background: #faf8f1; border-color: #cec6b4; box-shadow: 0 16px 45px #1114100c; }
.service-choices button { background: #fffdf7; border-color: #d7d1c2; }
.service-choices button[aria-pressed=true] { background: #f2e7c6; }
.form-step input, .form-step textarea { background: #fffdf7; border-color: #d7d1c2; }
.quote-aside { padding: 29px 26px; background: #e6dfce; border: 1px solid #d4cbb8; border-radius: 13px; }
.quote-aside .contact-box { border-color: #c7bda6; }
.quote-aside > p, .contact-box > span { color: #5b574d; }
.demo-notice { color: #69655b; }
.optional { color: #716c60; }
.about {
  position: relative;
  background: var(--night);
  color: var(--light-ink);
  border-top: 0;
  border-radius: 38px 38px 0 0;
  padding-top: 75px;
  padding-bottom: 50px;
}
.about::before {
  display: none;
}
.about .section-intro > p, .process-grid p { color: var(--light-muted); }
.process-grid > div { border-top: 1px solid #ffffff24; padding-top: 25px; }
.process-grid > div > span { color: #e7cb81; background: #d4aa4215; border: 1px solid #d4aa4245; }
.areas { position: relative; color: var(--light-ink); background: var(--night); padding-top: 55px; padding-bottom: 90px; }
.area-layout { border-top: 1px solid #ffffff20; padding-top: 50px; }
.area-layout > div > p, .area-chips > p { color: var(--light-muted); }
.areas .text-link { color: #e0c274; }
.area-chips > span { background: #ffffff06; border-color: #ffffff26; }
.area-chips > span:first-child { background: #d4aa421c; border-color: #d4aa426b; color: #e7cb81; }
.faq { position: relative; background: var(--paper); border: 0; border-radius: 38px 38px 0 0; margin-top: -30px; padding-top: 66px; }
.faq-list details { background: #f8f5ed; border-color: #d8d1c2; }
.final-cta { background: var(--night); border-radius: 38px 38px 0 0; }
footer { background: var(--night); }
.mobile-actions { background: #1c1c1af5; color: #f6f3e9; border-color: #ffffff24; backdrop-filter: blur(12px); }
.mobile-actions > a { border-color: #ffffff3c; }
.mobile-actions > a:last-child { color: #111410; }
button:focus-visible, a:focus-visible, summary:focus-visible { outline-color: #b8922a; }
.header :focus-visible, .hero :focus-visible, .projects :focus-visible, .about :focus-visible, .areas :focus-visible, footer :focus-visible { outline-color: #e6c773; }
@media (max-width: 800px) {
  .menu-toggle { background: transparent; }
  .menu-toggle > span { background: #f6f3e9; }
  .navigation { border-top-color: #ffffff24; }
  .services-menu > div { background: #292926; }
  .hero { padding-top: 25px; padding-bottom: 37px; }
  .projects { padding-top: 25px; padding-bottom: 65px; }
  .services { border-radius: 24px 24px 0 0; margin-top: -22px; padding-top: 46px; }
  .quote { padding-top: 12px; padding-bottom: 52px; }
  .quote-aside { padding: 25px 22px; }
  .about { border-radius: 24px 24px 0 0; padding-top: 52px; padding-bottom: 25px; }
  .process-grid > div { padding-left: 57px; padding-top: 22px; }
  .process-grid > div > span { top: 22px; }
  .areas { padding-top: 20px; padding-bottom: 68px; }
  .area-layout { padding-top: 35px; }
  .faq { border-radius: 24px 24px 0 0; margin-top: -22px; padding-top: 46px; }
  .final-cta { border-radius: 24px 24px 0 0; }
}
