/* The restored pages keep their original markup and scripts. This layer uses
   the same typography, palette, paper cards and spacing as the new buyer pages. */
#adsora, #adl, #adq, #adt {
  --bone: #f4f1ea;
  --white: #fffdfa;
  --ink: #17150f;
  --muted: #6e6a60;
  --claret: #b02a22;
  --claret-btn: #b02a22;
  --hair: #d8d2c6;
  --maxw: 1280px;
  --pad: clamp(20px, 5vw, 64px);
  font-size: 16px;
  line-height: 1.65;
}

/* Brand and headings follow the new editorial design. */
#adsora .wordmark, #adl .adl-wm, #adq .adq-wm, #adt .adt-wm {
  font-family: var(--sans);
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -1.8px;
  text-transform: lowercase;
  padding-left: 0;
}
#adsora .wordmark::after, #adl .adl-wm::after,
#adq .adq-wm::after, #adt .adt-wm::after { content: "."; color: var(--claret); }
#adsora .logo, #adl .adl-brand svg, #adq .adq-brand svg, #adt .adt-brand svg { width: 30px; height: 30px; }
#adsora .eyebrow, #adl .adl-eyebrow, #adt .adt-eyebrow, #adt .adt-kicker {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 1.7px;
  line-height: 1.6;
  color: var(--claret);
  margin-bottom: 16px;
}
#adsora .head, #adl h2, #adt .adt-h2 {
  font-size: clamp(32px, 3.2vw, 45px);
  font-weight: 500;
  letter-spacing: -1.2px;
  line-height: 1.12;
}
#adsora .lead { font-size: clamp(18px, 1.8vw, 21px); line-height: 1.6; color: #49463e; }
#adsora .btn, #adsora .mast-cta, #adq .adq-next, #adq .adq-ghost, #adt .adt-btn {
  border-radius: 0;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  min-height: 52px;
  padding: 16px 21px;
  gap: 24px;
  line-height: 1.3;
}
#adsora .btn::after { display: none; }
#adsora .btn:hover, #adsora .mast-cta:hover, #adq .adq-next:hover, #adt .adt-btn:hover { background: #90241e; }
#adsora .tlink { font-size: 13px; }
#adsora a:focus-visible, #adl a:focus-visible,
#adq button:focus-visible, #adq input:focus-visible, #adt a:focus-visible { outline: 3px solid var(--claret); outline-offset: 4px; }

/* Home, windows and bath: retain every offer, figure, testimonial and action. */
#adsora .mast-in { min-height: 90px; padding: 18px var(--pad); }
#adsora .mast--min .mast-in { min-height: 76px; padding: 12px var(--pad); }
#adsora .mast-center, #adsora .mast-right { font-size: 10px; letter-spacing: .8px; }
#adsora .mast-cta { min-height: 44px; font-size: 12px; padding: 12px 16px; gap: 18px; }
#adsora .hero { display: block; min-height: 0; padding-top: 76px; padding-bottom: 72px; }
#adsora .hero-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 64px; align-items: center; }
#adsora .hero-h1 { font-size: clamp(50px, 5.5vw, 76px); font-weight: 500; letter-spacing: -2.4px; line-height: 1.04; }
#adsora .hero-h1:has(.nos) { font-size: clamp(42px, 4.6vw, 62px); }
#adsora .hero-h1 .nos { font-size: 20px !important; font-weight: 600 !important; line-height: 1.5 !important; border-top: 1px solid var(--hair) !important; }
#adsora .hero-art { padding: 48px 28px; min-height: 340px; justify-content: center; align-items: center; background: var(--white); border: 1px solid var(--ink); border-bottom: 16px solid var(--ink); }
#adsora .hero-art .seal { width: min(100%, 230px); }
#adsora .hero-sub { max-width: 540px; }
#adsora .hero-trust { margin-top: 25px; font-size: 12px; }
#adsora .cta-row { gap: 16px; margin-top: 30px; }
#adsora .section { padding-block: 70px; }
#adsora .section--tight { padding-block: 60px; }
#adsora .qband-in { display: flex; align-items: center; justify-content: space-between; gap: 30px; text-align: left; padding: 24px var(--pad); }
#adsora .qband .lbl { margin: 0; font-size: 10px; flex-shrink: 0; }
#adsora .qband p { font-family: var(--sans); font-size: 14px; line-height: 1.6; margin: 0; max-width: 750px; }
#adsora .board-grid { gap: 20px; margin-top: 36px; }
#adsora .board-grid > .fig { padding: 28px; background: var(--white); border: 1px solid var(--hair); min-width: 0; }
#adsora .board-grid .fig-num { font-size: clamp(36px, 3.5vw, 50px); font-weight: 500; line-height: 1.08; }
#adsora .fig-cap { font-size: 10px; letter-spacing: 1px; line-height: 1.6; }
#adsora .funnel-grid { gap: 24px; }
#adsora .step-t { font-size: clamp(23px, 2.3vw, 31px); font-weight: 500; line-height: 1.25; }
#adsora .step-n { font-family: var(--mono); font-size: 12px; }
#adsora .tcols { gap: 20px; }
#adsora .tquote { padding: 28px; background: var(--white); border: 1px solid var(--hair); border-top: 1px solid var(--ink); }
#adsora .tquote p { font-size: clamp(23px, 2.2vw, 29px); line-height: 1.3; }
#adsora .spread { padding-block: 64px; background: var(--ink); }
#adsora .faq-q { font-size: clamp(20px, 2vw, 27px); font-weight: 500; line-height: 1.25; }
#adsora .colophon { padding-block: 54px 28px; }

/* About: original company copy with the newer article typography and cards. */
#adl .adl-wrap { max-width: 1040px; padding: 30px var(--pad) 70px; }
#adl .adl-top { min-height: 65px; padding-bottom: 24px; margin-bottom: 52px; }
#adl .adl-back { font-family: var(--sans); font-size: 12px; letter-spacing: 0; text-transform: none; }
#adl h1 { font-size: clamp(43px, 5vw, 67px); font-weight: 500; line-height: 1.12; letter-spacing: -1.8px; margin-bottom: 24px; }
#adl h2 { font-size: 34px; margin-top: 38px; margin-bottom: 20px; }
#adl h3 { font-family: var(--serif); font-size: 25px; font-weight: 500; line-height: 1.25; }
#adl p { font-size: 16px; line-height: 1.85; color: #49463e; margin-bottom: 22px; }
#adl .adl-intro { font-size: 20px; line-height: 1.6; }
#adl .adl-dates { font: 10px/1.6 var(--mono); color: var(--muted); }
#adl .adl-facts, #adl .adl-person { background: var(--white); border: 1px solid var(--hair); padding: 28px; }
#adl .adl-facts h3 { margin-top: 0; }
#adl .adl-facts dd, #adl .adl-facts dt { font-size: 13px; line-height: 1.7; }
#adl .adl-foot { margin-top: 54px; padding-top: 25px; }

/* Original qualification flow, refreshed visually without changing branching. */
#adq { padding: 44px var(--pad) 64px; }
#adq .adq-shell { max-width: 680px; }
#adq .adq-top { padding-bottom: 24px; margin-bottom: 0; }
#adq .adq-step-label { font-size: 10px; letter-spacing: 1px; }
#adq .adq-progress, #adq .adq-progress-fill { height: 3px; border-radius: 0; }
#adq .adq-progress { margin-bottom: 36px; }
#adq .adq-q, #adq .adq-end h2 { font-family: var(--serif); font-size: clamp(32px, 4vw, 43px); font-weight: 500; line-height: 1.12; letter-spacing: -1.2px; }
#adq .adq-opt { border-radius: 0; padding: 18px 21px; font-size: 15px; min-height: 59px; box-shadow: none; }
#adq .adq-opt.is-selected { box-shadow: inset 3px 0 0 var(--claret); }
#adq .adq-input { min-height: 52px; font-size: 14px; padding: 14px 16px; border-radius: 0; border-color: #b9b2a5; }
#adq .adq-next { min-width: 180px; }
#adq .adq-nav { margin-top: 28px; }
#adq .adq-ghost { border: 1px solid var(--hair); }

/* Booking confirmation keeps the video, date logic and calendar actions. */
#adt .adt-wrap { max-width: 1040px; padding: 30px var(--pad) 64px; }
#adt .adt-top { border-bottom: 1px solid var(--hair); padding-bottom: 24px; margin-bottom: 36px; }
#adt .adt-hero .adt-h1 { font-size: clamp(32px, 3.8vw, 50px); font-weight: 500; letter-spacing: -1.5px; line-height: 1.14; }
#adt .adt-hero .adt-lede { font-size: 18px; line-height: 1.65; max-width: 700px; }
#adt .adt-card, #adt .adt-checklist, #adt .adt-reassure, #adt .adt-proof, #adt .adt-video-embed { border-radius: 0; box-shadow: none; }
#adt .adt-card { background: var(--white); border: 1px solid var(--hair); }
#adt .adt-step h3 { font-family: var(--serif); font-size: 26px; font-weight: 500; line-height: 1.25; }
#adt .adt-step p, #adt .adt-ck p { font-size: 15px; line-height: 1.75; }
#adt .adt-block { margin-top: 48px; }
#adt .adt-block--fold { margin-top: 24px; }
#adt .adt-footer { padding-top: 26px; margin-top: 48px; }

@media (max-width: 850px) {
  #adsora .mast-in { min-height: 76px; }
  #adsora .hero { padding-block: 50px; }
  #adsora .hero-grid { grid-template-columns: 1fr; gap: 36px; }
  #adsora .hero-h1 { font-size: clamp(48px, 8vw, 72px); }
  #adsora .hero-h1:has(.nos) { font-size: clamp(42px, 6.5vw, 58px); }
  #adsora .hero-art { max-width: 640px; min-height: 210px; padding: 28px; }
  #adsora .hero-art .seal { width: 160px; }
  #adsora .section, #adsora .section--tight { padding-block: 50px; }
  #adsora .qband-in { display: block; }
  #adsora .qband .lbl { margin-bottom: 12px; }
  #adsora .board-grid .fig-num { font-size: 42px; }
}
@media (max-width: 560px) {
  #adsora .wordmark, #adl .adl-wm, #adq .adq-wm, #adt .adt-wm { font-size: 28px; }
  #adsora .logo, #adl .adl-brand svg, #adq .adq-brand svg, #adt .adt-brand svg { width: 26px; height: 26px; }
  #adsora .hero-h1 { font-size: 49px; letter-spacing: -1.8px; }
  #adsora .hero-h1:has(.nos) { font-size: 40px; }
  #adsora .hero-h1 .nos { font-size: 17px !important; }
  #adsora .hero-art { min-height: 190px; }
  #adsora .board-grid { gap: 12px; }
  #adsora .board-grid > .fig, #adsora .tquote { padding: 24px; }
  #adsora .funnel-grid { gap: 16px; }
  #adsora .head, #adl h2, #adt .adt-h2 { font-size: 32px; }
  #adl .adl-wrap, #adt .adt-wrap { padding-top: 24px; }
  #adl .adl-top { margin-bottom: 36px; }
  #adl h1 { font-size: 43px; }
  #adl .adl-intro { font-size: 18px; }
  #adl .adl-facts, #adl .adl-person { padding: 22px; }
  #adq { padding-top: 26px; }
  #adq .adq-q { font-size: 34px; }
  #adq .adq-opt { padding: 16px; font-size: 14px; }
  #adq .adq-step-label { font-size: 9px; }
  #adt .adt-hero .adt-h1 { font-size: 31px; }
  #adt .adt-hero .adt-lede { font-size: 16px; }
  #adt .adt-status { font-size: 9px; }
}
