/* Elementor wrapper normalisation; original design rules follow. */
body.cad-site {--widgets-spacing:0;}
.cad-site :where(.cad-node.e-con) {display:block; flex:none; min-height:0; padding:0; gap:0; margin:0; width:auto; max-width:none; --container-widget-width:100%; --container-widget-flex-grow:0;}
.cad-site .elementor-widget.cad-leaf,.cad-site .elementor-widget.cad-heading,.cad-site .cad-leaf > .elementor-widget-container,.cad-site .cad-heading > .elementor-widget-container {display:contents;}
.cad-site .elementor-heading-title {font:inherit; color:inherit; padding:0;}
.cad-site h1,.cad-site h2,.cad-site h3,.cad-site h4 {font-family:var(--app-font-sans);}
.cad-site img {max-width:100%; height:auto;}

:root{
  --background: 40 12% 96%;
  --foreground: 278 38% 17%;
  --border: 280 9% 78%;
  --input: 280 9% 78%;
  --ring: 278 38% 17%;
  --card: 0 0% 100%;
  --card-foreground: 278 38% 17%;
  --card-border: 280 9% 78%;
  --primary: 278 38% 17%;
  --primary-foreground: 40 12% 96%;
  --secondary: 278 25% 38%;
  --secondary-foreground: 0 0% 100%;
  --muted: 280 9% 89%;
  --muted-foreground: 278 11% 42%;
  --accent: 280 12% 57%;
  --accent-foreground: 278 38% 17%;
  --destructive: 278 38% 17%;
  --destructive-foreground: 40 12% 96%;
  --sidebar: 278 38% 17%;
  --sidebar-foreground: 40 12% 96%;
  --sidebar-border: 278 28% 29%;
  --sidebar-primary: 278 25% 38%;
  --sidebar-primary-foreground: 40 12% 96%;
  --app-font-sans: 'DM Sans', sans-serif;
  --app-font-mono: 'Space Mono', monospace;
  --radius: 0.2rem;
  --spacing: 0.25rem;
}
*{ box-sizing: border-box; }
html{ scroll-behavior: smooth; }
body{
  margin: 0;
  min-width: 320px;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: var(--app-font-sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body::before{
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .2;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.035'/%3E%3C/svg%3E");
  z-index: 20;
}
a{ color: inherit; }
button, a{ -webkit-tap-highlight-color: transparent; }
button{ font: inherit; }
:focus-visible{ outline: 3px solid hsl(var(--accent)); outline-offset: 4px; }
.cad-site .site-shell{ overflow: hidden; }
.cad-site .container{ width: min(1160px, calc(100% - 40px)); margin-inline: auto; }
.cad-site .mono{ font-family: var(--app-font-mono); }
.cad-site .eyebrow{
  margin: 0;
  color: hsl(var(--secondary));
  font: 700 11px/1.3 var(--app-font-mono);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.cad-site .section{ padding: 112px 0; }
.cad-site .section-heading{ max-width: 680px; }
.cad-site .section-heading h2{
  margin: 14px 0 18px;
  color: hsl(var(--foreground));
  font-size: clamp(2.2rem, 5vw, 4.25rem);
  line-height: 1.03;
  letter-spacing: -.055em;
  font-weight: 600;
}
.cad-site .section-heading p{ max-width: 580px; margin: 0; color: hsl(var(--muted-foreground)); font-size: 1.08rem; }
.cad-site .site-header{
  position: relative;
  z-index: 10;
  border-bottom: 1px solid hsl(var(--border));
  background: hsl(var(--background) / .94);
  backdrop-filter: blur(12px);
}
.cad-site .header-inner{ min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.cad-site .brand{
  display: inline-flex; align-items: center; gap: 12px; text-decoration: none; min-width: max-content;
  font-weight: 700; letter-spacing: -.035em; font-size: 1.02rem;
}
.cad-site .desktop-nav{ display: flex; align-items: center; gap: 25px; margin-left: auto; }
.cad-site .desktop-nav a, .cad-site .mobile-nav a{ color: hsl(var(--muted-foreground)); text-decoration: none; font-size: .88rem; font-weight: 500; }
.cad-site .desktop-nav a{ transition: color .2s ease; }
.cad-site .desktop-nav a:hover, .cad-site .desktop-nav a:focus-visible, .cad-site .mobile-nav a:hover{ color: hsl(var(--secondary)); }
.cad-site .header-phone{
  display: inline-flex; align-items: center; gap: 9px; padding: 10px 14px;
  border: 1px solid hsl(var(--secondary)); border-radius: 4px; color: hsl(var(--secondary));
  text-decoration: none; font: 700 .76rem var(--app-font-mono); white-space: nowrap;
  transition: background-color .2s ease, color .2s ease;
}
.cad-site .header-phone:hover{ background: hsl(var(--secondary)); color: hsl(var(--primary-foreground)); }
.cad-site .menu-button{ display: none; min-width: 44px; min-height: 44px; border: 1px solid hsl(var(--border)); background: transparent; color: hsl(var(--foreground)); padding: 9px 11px; border-radius: 4px; cursor: pointer; }
.cad-site .menu-button svg{ display: block; }
.cad-site .mobile-nav{ display: none; }
.cad-site .hero{ position: relative; padding: 98px 0 94px; }
.cad-site .hero::after{ content: ''; position: absolute; z-index: -1; left: 50%; top: 12%; width: 44vw; height: 44vw; max-width: 600px; max-height: 600px; border: 1px solid hsl(var(--border)); border-radius: 50%; transform: translateX(19%); opacity: .62; }
.cad-site .hero-grid{ display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr); align-items: center; gap: 80px; }
.cad-site .hero h1{ max-width: 760px; margin: 18px 0 25px; font-size: clamp(3.15rem, 7vw, 6.65rem); line-height: .96; letter-spacing: -.075em; font-weight: 600; }
.cad-site .hero-copy{ max-width: 590px; margin: 0; color: hsl(var(--muted-foreground)); font-size: clamp(1.04rem, 2vw, 1.2rem); }
.cad-site .hero-actions{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 35px; }
.cad-site .button{
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 18px;
  border: 1px solid transparent; border-radius: 4px; cursor: pointer; text-decoration: none; font-weight: 700; font-size: .91rem;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.cad-site .button:hover{ transform: translateY(-2px); }
.cad-site .button-primary{ background: hsl(var(--secondary)); color: hsl(var(--primary-foreground)); }
.cad-site .button-primary:hover{ background: hsl(177 64% 24%); }
.cad-site .button-outline{ border-color: hsl(var(--border)); color: hsl(var(--foreground)); }
.cad-site .button-outline:hover{ border-color: hsl(var(--secondary)); color: hsl(var(--secondary)); }
.cad-site .hero-note{ display: flex; align-items: center; gap: 10px; margin-top: 27px; color: hsl(var(--muted-foreground)); font-size: .83rem; }
.cad-site .hero-note::before{ content: ''; display: block; width: 25px; height: 1px; background: hsl(var(--accent)); }
.cad-site .trust-strip{ border-block: 1px solid hsl(var(--border)); background: hsl(var(--muted) / .48); }
.cad-site .trust-items{ display: grid; grid-template-columns: repeat(3, 1fr); }
.cad-site .trust-item{ display: flex; align-items: center; gap: 14px; min-height: 89px; padding: 17px 20px; border-right: 1px solid hsl(var(--border)); }
.cad-site .trust-item:first-child{ padding-left: 0; }
.cad-site .trust-item:last-child{ border: 0; }
.cad-site .trust-number{ color: hsl(var(--secondary)); font: 700 11px var(--app-font-mono); }
.cad-site .trust-item span:last-child{ font-size: .9rem; font-weight: 600; }
.cad-site .services{ background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.cad-site .services .section-heading h2, .cad-site .services .section-heading p{ color: hsl(var(--primary-foreground)); }
.cad-site .services .section-heading p{ color: hsl(42 22% 80%); }
.cad-site .service-layout{ display: grid; grid-template-columns: .72fr 1.28fr; gap: 100px; align-items: start; }
.cad-site .service-index{ position: sticky; top: 30px; }
.cad-site .service-index .eyebrow{ color: hsl(var(--accent)); }
.cad-site .service-index h2{ margin-top: 14px; font-size: clamp(2.2rem, 5vw, 4.1rem); line-height: 1.02; letter-spacing: -.06em; font-weight: 600; }
.cad-site .service-list{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 32px; margin-top: 45px; border-top: 1px solid hsl(215 25% 30%); }
.cad-site .service-line{ padding: 20px 0 22px; border-bottom: 1px solid hsl(215 25% 30%); }
.cad-site .service-line h3{ margin: 0 0 5px; color: hsl(var(--primary-foreground)); font-size: 1rem; }
.cad-site .service-line p{ margin: 0; color: hsl(42 22% 74%); font-size: .92rem; line-height: 1.55; }
.cad-site .service-aside{ padding: 20px 0; color: hsl(42 22% 80%); font-size: .92rem; border-top: 1px solid hsl(215 25% 30%); }
.cad-site .home-support{ background: hsl(var(--background)); }
.cad-site .home-grid{ display: grid; grid-template-columns: .9fr 1.1fr; gap: 95px; }
.cad-site .home-list{ border-top: 1px solid hsl(var(--border)); }
.cad-site .home-row{ display: grid; grid-template-columns: 50px 1fr; gap: 20px; padding: 22px 0; border-bottom: 1px solid hsl(var(--border)); }
.cad-site .home-row-number{ color: hsl(var(--secondary)); font: 700 12px var(--app-font-mono); padding-top: 3px; }
.cad-site .home-row h3{ margin: 0 0 5px; font-size: 1.03rem; }
.cad-site .home-row p{ margin: 0; color: hsl(var(--muted-foreground)); font-size: .9rem; }
.cad-site .compatibility-note{ margin-top: 29px; padding: 17px 19px; border-left: 3px solid hsl(var(--accent)); background: hsl(var(--muted) / .45); color: hsl(var(--muted-foreground)); font-size: .89rem; }
.cad-site .about{ border-top: 1px solid hsl(var(--border)); }
.cad-site .about-grid{ display: grid; grid-template-columns: .9fr 1.1fr; gap: 95px; align-items: start; }
.cad-site .about-mark{ min-height: 280px; display: grid; place-items: center; border: 1px solid hsl(var(--border)); background: hsl(var(--muted) / .4); }
.cad-site .about-mark-inner{ text-align: center; }
.cad-site .about-mark img{ display: block; width: min(100%, 210px); height: auto; margin: 0 auto; }
.cad-site .about-mark span{ display: block; margin-top: 20px; color: hsl(var(--muted-foreground)); font: 10px var(--app-font-mono); letter-spacing: .12em; }
.cad-site .about-copy h2{ margin: 14px 0 22px; font-size: clamp(2.2rem, 5vw, 4.1rem); line-height: 1.02; letter-spacing: -.06em; font-weight: 600; }
.cad-site .about-copy > p{ max-width: 590px; margin: 0; color: hsl(var(--muted-foreground)); font-size: 1.06rem; }
.cad-site .about-details{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px 30px; margin-top: 35px; padding-top: 25px; border-top: 1px solid hsl(var(--border)); }
.cad-site .about-detail strong{ display: block; margin-bottom: 3px; font-size: .91rem; }
.cad-site .about-detail span{ color: hsl(var(--muted-foreground)); font-size: .88rem; }
.cad-site .process{ background: hsl(var(--muted) / .5); }
.cad-site .process-heading{ display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.cad-site .process-heading h2{ margin-bottom: 0; }
.cad-site .process-heading p{ max-width: 300px; margin: 0 0 4px; color: hsl(var(--muted-foreground)); font-size: .9rem; }
.cad-site .process-steps{ display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 57px; border-top: 1px solid hsl(var(--border)); }
.cad-site .process-step{ min-height: 190px; padding: 22px 24px 22px 0; border-right: 1px solid hsl(var(--border)); }
.cad-site .process-step:not(:first-child){ padding-left: 24px; }
.cad-site .process-step:last-child{ border-right: 0; }
.cad-site .step-number{ color: hsl(var(--secondary)); font: 700 12px var(--app-font-mono); }
.cad-site .process-step h3{ max-width: 180px; margin: 33px 0 0; font-size: 1.35rem; line-height: 1.15; letter-spacing: -.03em; }
.cad-site .step-arrow{ float: right; color: hsl(var(--accent)); font-size: 1.4rem; }
.cad-site .testimonials{ background: hsl(var(--muted) / .34); }
.cad-site .testimonials-heading{ display: flex; align-items: end; justify-content: space-between; gap: 32px; }
.cad-site .testimonials-heading h2{ max-width: 570px; margin: 0; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.04; letter-spacing: -.055em; font-weight: 600; }
.cad-site .testimonials-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 48px; margin-top: 40px; }
.cad-site .testimonial{ margin: 0; padding-top: 22px; border-top: 1px solid hsl(var(--border)); }
.cad-site .testimonial p{ max-width: 58ch; margin: 0; color: hsl(var(--foreground)); font-size: clamp(1rem, 1.25vw, 1.16rem); line-height: 1.65; }
.cad-site .faq-contact{ display: grid; grid-template-columns: .8fr 1.2fr; gap: 95px; }
.cad-site .faq-list{ border-top: 1px solid hsl(var(--border)); }
.cad-site .faq-item{ border-bottom: 1px solid hsl(var(--border)); }
.cad-site .faq-question{ width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 20px 0; border: 0; background: transparent; text-align: left; color: hsl(var(--foreground)); cursor: pointer; font-weight: 600; }
.cad-site .faq-question svg{ flex: 0 0 auto; color: hsl(var(--secondary)); transition: transform .2s ease; }
.cad-site .faq-question[aria-expanded='true'] svg{ transform: rotate(45deg); }
.cad-site .faq-answer{ max-width: 650px; padding: 0 45px 20px 0; color: hsl(var(--muted-foreground)); font-size: .91rem; }
.cad-site .faq-answer[hidden]{ display: none; }
.cad-site .faq-answer p{ margin: 0; }
.cad-site .contact-panel{ padding: 34px; background: hsl(var(--primary)); color: hsl(var(--primary-foreground)); }
.cad-site .contact-panel .eyebrow{ color: hsl(var(--accent)); }
.cad-site .contact-panel h2{ margin: 15px 0 18px; color: hsl(var(--primary-foreground)); font-size: clamp(2.2rem, 5vw, 4.1rem); line-height: 1; letter-spacing: -.06em; font-weight: 600; }
.cad-site .contact-panel > p{ max-width: 360px; margin: 0 0 27px; color: hsl(42 22% 80%); font-size: .95rem; }
.cad-site .contact-link{ display: flex; align-items: center; gap: 11px; padding: 14px 0; border-top: 1px solid hsl(215 25% 30%); color: hsl(var(--primary-foreground)); text-decoration: none; font: 700 .95rem var(--app-font-mono); }
.cad-site .contact-link:hover{ color: hsl(var(--accent)); }
.cad-site .contact-hours{ margin: 22px 0 0; padding-top: 18px; border-top: 1px solid hsl(215 25% 30%); color: hsl(42 22% 76%); font-size: .84rem; }
.cad-site .site-footer{ padding: 26px 0; background: hsl(var(--primary)); border-top: 1px solid hsl(215 25% 30%); color: hsl(42 22% 76%); }
.cad-site .footer-inner{ display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.cad-site .footer-brand{ color: hsl(var(--primary-foreground)); font-weight: 700; text-decoration: none; }
.cad-site .footer-copy{ margin: 0; font-size: .78rem; }
.cad-site .back-top{ color: hsl(var(--accent)); text-decoration: none; font: 10px var(--app-font-mono); text-transform: uppercase; letter-spacing: .08em; }

@media (max-width: 900px) {
.cad-site .container{ width: min(100% - 32px, 720px); }
.cad-site .desktop-nav, .cad-site .header-phone{ display: none; }
.cad-site .menu-button{ display: inline-flex; }
.cad-site .mobile-nav{ display: flex; flex-direction: column; gap: 0; padding: 8px 0 18px; border-top: 1px solid hsl(var(--border)); }
.cad-site .mobile-nav a{ padding: 12px 0; border-bottom: 1px solid hsl(var(--border)); }
.cad-site .mobile-nav .mobile-phone{ color: hsl(var(--secondary)); font-family: var(--app-font-mono); }
.cad-site .hero{ padding: 74px 0 76px; }
.cad-site .hero-grid, .cad-site .service-layout, .cad-site .home-grid, .cad-site .about-grid, .cad-site .faq-contact{ grid-template-columns: 1fr; gap: 52px; }
.cad-site .hero::after{ width: 70vw; height: 70vw; transform: translateX(-4%); top: 17%; opacity: .4; }
.cad-site .service-index{ position: static; }
.cad-site .service-list{ margin-top: 28px; }
.cad-site .about-mark{ min-height: 180px; }
.cad-site .testimonials-heading{ display: block; }
.cad-site .testimonials-heading h2{ margin-top: 14px; }
}
@media (max-width: 600px) {
.cad-site .container{ width: min(100% - 28px, 520px); }
.cad-site .section{ padding: 76px 0; }
.cad-site .header-inner{ min-height: 68px; }
.cad-site .hero{ padding: 57px 0 64px; }
.cad-site .hero h1{ font-size: clamp(2.85rem, 15vw, 4.3rem); }
.cad-site .hero-actions{ align-items: stretch; flex-direction: column; }
.cad-site .hero-actions .button{ width: 100%; }
.cad-site .trust-items{ grid-template-columns: 1fr; }
.cad-site .trust-item, .cad-site .trust-item:first-child{ min-height: 0; padding: 15px 0; border-right: 0; border-bottom: 1px solid hsl(var(--border)); }
.cad-site .service-list{ grid-template-columns: 1fr; }
.cad-site .process-heading{ display: block; }
.cad-site .process-heading p{ margin-top: 20px; }
.cad-site .process-steps{ grid-template-columns: 1fr; margin-top: 36px; }
.cad-site .process-step, .cad-site .process-step:not(:first-child){ min-height: 0; padding: 20px 0; border-right: 0; border-bottom: 1px solid hsl(var(--border)); }
.cad-site .process-step:last-child{ border-bottom: 0; }
.cad-site .process-step h3{ margin-top: 16px; }
.cad-site .about-details{ grid-template-columns: 1fr; }
.cad-site .testimonials-grid{ grid-template-columns: 1fr; gap: 28px; margin-top: 30px; }
.cad-site .contact-panel{ padding: 25px 20px; }
.cad-site .footer-inner{ align-items: start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
html{ scroll-behavior: auto; }
*, *::before, *::after{ transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
:root{
  --plum-deep: hsl(278 38% 17%);
  --plum: hsl(278 25% 38%);
  --paper: hsl(40 12% 96%);
  --paper-bright: hsl(0 0% 100%);
  --grey-line: hsl(280 9% 78%);
  --grey-soft: hsl(280 9% 89%);
  --grey-copy: hsl(278 11% 42%);
}
body{ background: var(--paper); color: var(--plum-deep); }
.cad-site .site-shell{ background: var(--paper); }
.cad-site .container{ width: min(1180px, calc(100% - 56px)); }
.cad-site .site-header{ background: hsl(40 12% 96% / .93); border-bottom-color: var(--grey-line); }
.cad-site .header-inner{ min-height: 92px; }
.cad-site .header-inner{ gap: 16px; }
.cad-site .brand{ flex: 0 0 288px; width: auto; min-width: 0; gap: 12px; }
.cad-site .brand-logo{ display: block; flex: 0 0 auto; width: 152px; height: auto; }
.cad-site .brand-tagline{ display: block; max-width: 124px; color: var(--grey-copy); font-size: .67rem; font-weight: 600; line-height: 1.35; letter-spacing: 0; }
.cad-site .desktop-nav{ gap: 16px; }
.cad-site .desktop-nav a{ color: var(--grey-copy); font-size: .76rem; letter-spacing: 0; white-space: nowrap; }
.cad-site .desktop-nav a:hover, .cad-site .desktop-nav a:focus-visible{ color: var(--plum); }
.cad-site .header-phone{ border-color: var(--plum); color: var(--plum); border-radius: 2px; }
.cad-site .header-phone:hover{ background: var(--plum-deep); color: var(--paper); }
.cad-site .hero{ padding: 108px 0 106px; background: var(--paper); }
.cad-site .hero::before{ content: ''; position: absolute; inset: 0 0 auto; height: 1px; background: var(--grey-line); opacity: .6; }
.cad-site .hero::after{ width: min(610px, 52vw); height: min(610px, 52vw); right: -9%; left: auto; top: 2%; transform: none; border: 1px solid var(--grey-line); opacity: .6; }
.cad-site .hero-grid{ grid-template-columns: minmax(0, 1.18fr) minmax(300px, .82fr); gap: 86px; }
.cad-site .hero h1{ max-width: 820px; margin-top: 20px; color: var(--plum-deep); font-size: clamp(3.25rem, 7vw, 6.8rem); letter-spacing: -.085em; }
.cad-site .eyebrow{ color: var(--plum); letter-spacing: .16em; }
.cad-site .hero-copy{ max-width: 630px; color: var(--grey-copy); font-size: clamp(1.05rem, 2vw, 1.2rem); line-height: 1.65; }
.cad-site .hero-actions{ margin-top: 20px; }
.cad-site .button{ border-radius: 2px; min-height: 51px; padding-inline: 22px; }
.cad-site .button-primary{ background: var(--plum-deep); color: var(--paper); }
.cad-site .button-primary:hover{ background: var(--plum); }
.cad-site .button-outline{ border-color: var(--plum-deep); color: var(--plum-deep); }
.cad-site .button-outline:hover{ background: var(--plum-deep); color: var(--paper); }
.cad-site .hero-note{ display: inline-flex; margin: 20px 0 0; padding: 10px 14px; border-left: 3px solid var(--plum); background: var(--grey-soft); color: var(--plum-deep); font-size: 1rem; font-weight: 700; line-height: 1.35; }
.cad-site .hero-note::before{ display: none; }
.cad-site .hero-visit-card{ position: relative; padding: 34px 32px 29px; border: 1px solid var(--plum-deep); background: var(--paper-bright); box-shadow: 12px 12px 0 var(--grey-soft); }
.cad-site .hero-visit-card::before{ content: 'VISITS BY ARRANGEMENT'; position: absolute; top: 0; right: 0; padding: 8px 12px; background: var(--plum-deep); color: var(--paper); font: 700 9px var(--app-font-mono); letter-spacing: .13em; }
.cad-site .visit-kicker{ margin: 48px 0 12px; color: var(--plum); font: 700 11px var(--app-font-mono); letter-spacing: .12em; text-transform: uppercase; }
.cad-site .hero-visit-card h2{ max-width: 300px; margin: 0; color: var(--plum-deep); font-size: clamp(2rem, 4vw, 3.25rem); line-height: .98; letter-spacing: -.07em; }
.cad-site .visit-options{ display: grid; gap: 0; margin-top: 32px; border-top: 1px solid var(--grey-line); }
.cad-site .visit-option{ display: grid; grid-template-columns: 35px 1fr; gap: 12px; align-items: start; padding: 15px 0; border-bottom: 1px solid var(--grey-line); }
.cad-site .visit-option-number{ color: var(--plum); font: 700 11px var(--app-font-mono); }
.cad-site .visit-option strong{ display: block; color: var(--plum-deep); font-size: 1rem; }
.cad-site .visit-option span{ display: block; margin-top: 2px; color: var(--grey-copy); font-size: .84rem; }
.cad-site .visit-card-phone{ display: inline-flex; align-items: center; gap: 9px; margin-top: 24px; color: var(--plum-deep); text-decoration: none; font: 700 .86rem var(--app-font-mono); }
.cad-site .visit-card-phone:hover{ color: var(--plum); }
.cad-site .trust-strip{ background: var(--plum-deep); border-color: var(--plum-deep); color: var(--paper); }
.cad-site .trust-item{ border-color: hsl(280 28% 29%); }
.cad-site .trust-number{ color: hsl(280 24% 72%); }
.cad-site .trust-item span:last-child{ color: var(--paper); font-size: .84rem; letter-spacing: .01em; }
.cad-site .section{ padding: 128px 0; }
.cad-site .services{ background: var(--plum-deep); }
.cad-site .service-layout{ gap: 110px; }
.cad-site .service-index h2, .cad-site .about-copy h2, .cad-site .contact-panel h2{ letter-spacing: -.075em; }
.cad-site .service-list{ grid-template-columns: repeat(2, minmax(0, 1fr)); border-top-color: hsl(280 28% 29%); }
.cad-site .service-line{ border-bottom-color: hsl(280 28% 29%); }
.cad-site .service-line h3{ font-size: 1.04rem; font-weight: 600; }
.cad-site .services .section-heading p, .cad-site .service-line p, .cad-site .service-aside{ color: hsl(280 16% 76%); }
.cad-site .service-aside{ border-top-color: hsl(280 28% 29%); }
.cad-site .home-support{ background: var(--paper-bright); }
.cad-site .home-grid{ gap: 112px; }
.cad-site .home-row{ padding: 25px 0; }
.cad-site .home-row-number{ color: var(--plum); }
.cad-site .home-row h3{ font-size: 1.06rem; }
.cad-site .compatibility-note{ border-left-color: var(--plum); background: var(--grey-soft); color: var(--grey-copy); }
.cad-site .about{ background: var(--paper); }
.cad-site .about-grid{ gap: 86px; align-items: center; }
.cad-site .wes-portrait-wrap{ display: flex; align-items: end; gap: 20px; padding: 22px; border: 1px solid var(--grey-line); background: var(--grey-soft); }
.cad-site .wes-portrait{ display: block; width: min(170px, 42%); height: auto; filter: grayscale(1); }
.cad-site .wes-portrait-caption{ align-self: end; padding-bottom: 4px; color: var(--grey-copy); font: 700 10px/1.5 var(--app-font-mono); letter-spacing: .1em; text-transform: uppercase; }
.cad-site .about-mark{ display: none; }
.cad-site .about-details{ gap: 19px 32px; }
.cad-site .about-detail strong{ font-size: .8rem; font-family: var(--app-font-mono); letter-spacing: .06em; text-transform: uppercase; }
.cad-site .process{ background: var(--paper-bright); }
.cad-site .process-step h3{ color: var(--plum-deep); }
.cad-site .step-arrow{ color: var(--plum); }
.cad-site .testimonials{ background: var(--grey-soft); }
.cad-site .testimonial{ border-top-color: var(--grey-line); }
.cad-site .bits-section{ padding: 102px 0; background: var(--plum); color: var(--paper); }
.cad-site .bits-layout{ display: grid; grid-template-columns: .55fr 1.45fr; gap: 90px; align-items: center; }
.cad-site .bits-section .eyebrow{ color: hsl(280 24% 78%); }
.cad-site .bits-title{ margin: 14px 0 0; color: var(--paper); font-size: clamp(2.4rem, 5vw, 4.8rem); line-height: .95; letter-spacing: -.08em; }
.cad-site .bits-article{ display: grid; grid-template-columns: 1fr auto; gap: 34px; align-items: end; padding: 27px 0 25px; border-block: 1px solid hsl(280 28% 51%); }
.cad-site .bits-article h3{ max-width: 600px; margin: 0 0 14px; color: var(--paper); font-size: clamp(1.5rem, 3vw, 2.5rem); line-height: 1.05; letter-spacing: -.05em; }
.cad-site .bits-article p{ margin: 0; color: hsl(280 19% 80%); font: 700 .72rem var(--app-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.cad-site .bits-link{ display: inline-flex; align-items: center; gap: 10px; color: var(--paper); text-decoration: none; font-weight: 700; white-space: nowrap; }
.cad-site .bits-link:hover{ color: hsl(280 24% 78%); }
.cad-site .coverage-section{ background: var(--paper-bright); }
.cad-site .coverage-layout{ display: grid; grid-template-columns: .8fr 1.2fr; gap: 88px; align-items: center; }
.cad-site .coverage-copy h2{ margin: 14px 0 18px; color: var(--plum-deep); font-size: clamp(2.4rem, 5vw, 4.4rem); line-height: .98; letter-spacing: -.08em; }
.cad-site .coverage-copy > p{ max-width: 440px; margin: 0; color: var(--grey-copy); }
.cad-site .coverage-note{ display: block; margin-top: 22px; color: var(--plum-deep); font: 600 1rem/1.5 var(--app-font-sans); }
.cad-site .coverage-phone{ display: inline-flex; align-items: center; gap: 9px; margin-top: 22px; padding: 12px 16px; background: var(--plum-deep); color: var(--paper); font-size: .92rem; font-weight: 700; text-decoration: none; transition: background-color .2s ease; }
.cad-site .coverage-phone:hover{ background: var(--plum); }
.cad-site .coverage-map{ width: 100%; height: clamp(320px, 36vw, 460px); overflow: hidden; border: 1px solid var(--grey-line); background: var(--grey-soft); }
.cad-site .coverage-map iframe{ display: block; width: 100%; height: 100%; border: 0; }
.cad-site .faq-contact{ gap: 104px; }
.cad-site .contact-panel{ background: var(--plum-deep); }
.cad-site .contact-panel > p, .cad-site .contact-hours{ color: hsl(280 16% 76%); }
.cad-site .contact-link{ border-top-color: hsl(280 28% 29%); }
.cad-site .contact-hours{ border-top-color: hsl(280 28% 29%); }
.cad-site .site-footer{ background: var(--plum-deep); border-top-color: hsl(280 28% 29%); color: hsl(280 16% 76%); }

@media (max-width: 900px) {
.cad-site .container{ width: min(100% - 40px, 720px); }
.cad-site .hero{ padding: 76px 0 82px; }
.cad-site .hero-grid, .cad-site .coverage-layout{ grid-template-columns: 1fr; gap: 58px; }
.cad-site .hero::after{ width: 76vw; height: 76vw; right: -28%; top: 28%; opacity: .35; }
.cad-site .hero-visit-card{ max-width: 570px; }
.cad-site .m365-intro h2, .cad-site .coverage-copy h2{ max-width: 620px; }
.cad-site .bits-layout{ grid-template-columns: 1fr; gap: 35px; }
}
@media (max-width: 600px) {
.cad-site .container{ width: min(100% - 28px, 520px); }
.cad-site .header-inner{ min-height: 78px; gap: 12px; }
.cad-site .brand{ flex: 1 1 auto; width: auto; min-width: 0; gap: 8px; }
.cad-site .brand-logo{ width: 124px; }
.cad-site .brand-tagline{ max-width: 140px; font-size: .63rem; line-height: 1.25; }
.cad-site .menu-button{ flex: 0 0 auto; padding: 8px 9px; }
.cad-site .hero{ padding: 56px 0 64px; }
.cad-site .hero h1{ font-size: clamp(2.85rem, 15vw, 4.5rem); }
.cad-site .hero-visit-card{ padding: 24px 20px 23px; box-shadow: 7px 7px 0 var(--grey-soft); }
.cad-site .visit-kicker{ margin-top: 50px; }
.cad-site .section{ padding: 82px 0; }
.cad-site .service-list{ grid-template-columns: 1fr; }
.cad-site .wes-portrait-wrap{ align-items: start; padding: 15px; }
.cad-site .wes-portrait{ width: 135px; }
.cad-site .bits-section{ padding: 77px 0; }
.cad-site .bits-article{ grid-template-columns: 1fr; gap: 23px; }
.cad-site .bits-link{ width: fit-content; }
.cad-site .coverage-map{ height: 320px; }
}
@media (max-width: 1050px) {
.cad-site .desktop-nav, .cad-site .header-phone{ display: none; }
.cad-site .menu-button{ display: inline-flex; }
.cad-site .mobile-nav{ display: flex; flex-direction: column; gap: 0; padding: 8px 0 18px; border-top: 1px solid var(--grey-line); }
.cad-site .mobile-nav a{ padding: 12px 0; border-bottom: 1px solid var(--grey-line); }
}
@media (max-width: 360px) {
.cad-site .brand-logo{ width: 94px; }
.cad-site .brand-tagline{ max-width: 118px; font-size: .59rem; }
}
.cad-site .business-support-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 32px; }
.cad-site .business-support-card{ padding: 19px 18px 18px; border: 1px solid hsl(280 28% 34%); background: hsl(278 32% 20%); }
.cad-site .business-support-card-featured{ border-color: hsl(280 28% 51%); background: hsl(278 32% 22%); }
.cad-site .business-support-number{ display: block; margin-bottom: 10px; color: hsl(280 24% 72%); font: 700 10px var(--app-font-mono); }
.cad-site .business-support-card h3{ margin: 0 0 7px; color: var(--paper); font-size: 1rem; line-height: 1.3; letter-spacing: -.02em; }
.cad-site .business-support-card p{ margin: 0; color: hsl(280 16% 76%); font-size: .84rem; line-height: 1.52; }
.cad-site .business-management-note{ margin: 14px 0 0; padding: 14px 16px; border-left: 3px solid hsl(280 24% 72%); background: hsl(278 32% 21%); color: hsl(280 16% 79%); font-size: .83rem; line-height: 1.5; }
.cad-site .service-contact{ display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 33px; padding: 18px 0 0; border-top: 1px solid hsl(280 28% 29%); color: hsl(280 16% 76%); font-size: .88rem; }
.cad-site .service-contact-links{ display: flex; flex-wrap: wrap; gap: 18px; }
.cad-site .service-contact a{ display: inline-flex; align-items: center; gap: 7px; color: var(--paper); text-decoration: none; font: 700 .76rem var(--app-font-mono); white-space: nowrap; }
.cad-site .service-contact a:hover{ color: hsl(280 24% 78%); }
.cad-site .home-service-groups{ display: grid; gap: 31px; }
.cad-site .home-service-group{ padding-top: 23px; border-top: 1px solid var(--grey-line); }
.cad-site .home-group-heading{ display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: start; }
.cad-site .home-group-heading h3{ margin: -5px 0 5px; color: var(--plum-deep); font-size: 1.25rem; letter-spacing: -.025em; }
.cad-site .home-group-heading p{ margin: 0; color: var(--grey-copy); font-size: .88rem; line-height: 1.5; }
.cad-site .home-list{ margin-top: 16px; }
.cad-site .home-row{ grid-template-columns: 19px 1fr; gap: 12px; padding: 15px 0; }
.cad-site .home-row-marker{ color: var(--plum); font: 700 .78rem var(--app-font-mono); }
.cad-site .home-row h4{ margin: 0 0 4px; color: var(--plum-deep); font-size: .98rem; font-weight: 700; }
.cad-site .home-row p{ font-size: .86rem; line-height: 1.5; }
.cad-site .service-contact-light{ border-top-color: var(--grey-line); color: var(--grey-copy); }
.cad-site .service-contact-light a{ color: var(--plum-deep); }
.cad-site .service-contact-light a:hover{ color: var(--plum); }
.cad-site .bits-scope{ max-width: 300px; margin: 27px 0 0; color: hsl(280 19% 80%); font-size: .91rem; line-height: 1.55; }
.cad-site .bits-links{ display: grid; justify-items: end; gap: 15px; }
.cad-site .bits-archive-link{ display: inline-flex; align-items: center; gap: 9px; color: hsl(280 24% 78%); text-decoration: none; font-size: .78rem; }
.cad-site .bits-archive-link:hover{ color: var(--paper); }

@media (max-width: 900px) {
.cad-site .service-contact{ align-items: flex-start; flex-direction: column; }
.cad-site .bits-scope{ max-width: 560px; margin-top: 0; }
.cad-site .bits-links{ justify-items: start; }
}

@media (max-width: 600px) {
.cad-site .business-support-grid{ grid-template-columns: 1fr; gap: 10px; }
.cad-site .service-contact-links{ gap: 12px 18px; }
.cad-site .service-contact a{ font-size: .7rem; }
.cad-site .home-service-groups{ gap: 25px; }
}
.cad-site .business-specialist-project{
  margin-top: 14px;
  padding: 18px 20px;
  border-left: 3px solid hsl(280 24% 72%);
  background: hsl(278 32% 21%);
}
.cad-site .business-specialist-project h3{
  margin: 0 0 6px;
  color: var(--paper);
  font-size: .96rem;
  line-height: 1.35;
}
.cad-site .business-specialist-project p{
  margin: 0;
  color: hsl(280 16% 79%);
  font-size: .84rem;
  line-height: 1.55;
}
.cad-site .testimonials-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.cad-site .testimonial-source-note{ margin: 30px 0 0; color: var(--grey-copy); font-size: .8rem; line-height: 1.5; }
.cad-site .testimonial-source-note a{ color: var(--plum-deep); font-weight: 600; text-underline-offset: 3px; }
.cad-site .testimonials-actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin-top: 20px; }
.cad-site .testimonials-action-primary, .cad-site .testimonials-action-secondary{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  text-decoration: none;
  font-size: .84rem;
  font-weight: 700;
}
.cad-site .testimonials-action-primary{ color: var(--plum-deep); }
.cad-site .testimonials-action-secondary{ color: var(--grey-copy); }
.cad-site .testimonials-action-primary:hover, .cad-site .testimonials-action-secondary:hover{ text-decoration: underline; text-underline-offset: 4px; }
.cad-site .contact-secondary-links{
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 16px;
  padding-top: 13px;
  border-top: 1px solid hsl(280 28% 29%);
}
.cad-site .contact-secondary-links a{
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  color: hsl(280 24% 86%);
  font-size: .78rem;
  text-underline-offset: 3px;
}
.cad-site .contact-secondary-links a:hover{ color: var(--paper); }
.cad-site .footer-links{ display: flex; flex-wrap: wrap; gap: 10px 17px; }
.cad-site .footer-links a{
  color: hsl(280 24% 86%);
  font-size: .76rem;
  text-underline-offset: 3px;
}
.cad-site .footer-links a:hover{ color: var(--paper); }
.cad-site .customer-reviews-page{ background: var(--paper-bright); }
.cad-site .reviews-page-intro{ max-width: 790px; margin: 0 auto; }
.cad-site .reviews-page-intro h1{
  max-width: 760px;
  margin: 14px 0 19px;
  color: var(--plum-deep);
  font-size: clamp(2.8rem, 6vw, 5.2rem);
  line-height: .98;
  letter-spacing: -.075em;
  font-weight: 600;
}
.cad-site .reviews-page-intro > p:not(.eyebrow){ max-width: 650px; margin: 0; color: var(--grey-copy); font-size: 1.04rem; line-height: 1.65; }
.cad-site .review-source-link{
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 42px;
  margin-top: 12px;
  color: var(--plum-deep);
  font-size: .86rem;
  font-weight: 700;
  text-underline-offset: 4px;
}
.cad-site .reviews-page-list{ max-width: 950px; margin: 48px auto 0; border-top: 1px solid var(--grey-line); }
.cad-site .review-page-quote{
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 22px;
  margin: 0;
  padding: 27px 0;
  border-bottom: 1px solid var(--grey-line);
}
.cad-site .review-page-index{ padding-top: 3px; color: var(--plum); font: 700 11px var(--app-font-mono); }
.cad-site .review-page-quote p{ max-width: 78ch; margin: 0; color: var(--grey-copy); font-size: clamp(1.04rem, 1.55vw, 1.28rem); line-height: 1.6; }
.cad-site .reviews-page-actions{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  max-width: 950px;
  margin: 64px auto 0;
  padding: 30px;
  border-left: 4px solid var(--plum);
  background: var(--grey-soft);
}
.cad-site .reviews-page-actions h2{ margin: 8px 0 10px; color: var(--plum-deep); font-size: clamp(1.8rem, 3vw, 2.6rem); line-height: 1.05; letter-spacing: -.055em; }
.cad-site .reviews-page-actions > div:first-child > p:last-child{ max-width: 590px; margin: 0; color: var(--grey-copy); font-size: .92rem; line-height: 1.55; }
.cad-site .reviews-contact-links{ display: flex; flex-wrap: wrap; justify-content: end; gap: 10px; }
.cad-site .reviews-contact-links .button{ min-height: 44px; padding-inline: 14px; font-size: .82rem; }
.cad-site .reviews-contact-links .button-outline{ border-color: var(--grey-line); color: var(--plum-deep); }
.cad-site .reviews-contact-links .button-outline:hover{ border-color: var(--plum); color: var(--plum); }
.cad-site .reviews-external-links{ grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.cad-site .reviews-external-links a{
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--grey-copy);
  font-size: .79rem;
  font-weight: 600;
  text-underline-offset: 3px;
}
.cad-site .reviews-external-links .review-request-link{ color: var(--grey-copy); font-weight: 500; }

@media (max-width: 900px) {
.cad-site .testimonials-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cad-site .reviews-page-actions{ grid-template-columns: 1fr; }
.cad-site .reviews-contact-links{ justify-content: start; }
.cad-site .reviews-external-links{ grid-column: auto; }
}

@media (max-width: 600px) {
.cad-site .testimonials-grid{ grid-template-columns: 1fr; gap: 25px; }
.cad-site .testimonials-actions{ gap: 8px 18px; }
.cad-site .reviews-page-intro h1{ font-size: clamp(2.55rem, 12vw, 3.7rem); }
.cad-site .reviews-page-list{ margin-top: 34px; }
.cad-site .review-page-quote{ grid-template-columns: 28px minmax(0, 1fr); gap: 12px; padding: 22px 0; }
.cad-site .review-page-quote p{ font-size: 1rem; }
.cad-site .reviews-page-actions{ gap: 18px; margin-top: 44px; padding: 22px 18px; }
.cad-site .reviews-contact-links{ align-items: stretch; flex-direction: column; }
.cad-site .reviews-contact-links .button{ width: 100%; }
}
:root{
  --background: 40 14% 96%;
  --card: 42 20% 98%;
  --muted: 278 7% 91%;
  --paper: hsl(40 14% 96%);
  --paper-bright: hsl(42 20% 98%);
  --grey-soft: hsl(278 7% 91%);
  --grey-line: hsl(278 8% 80%);
}
.cad-site .site-header{ background: var(--paper-bright); }
.cad-site .header-inner{ min-height: 84px; }
.cad-site .brand-logo{ width: 132px; }
.cad-site .brand-tagline{ font-size: .66rem; }
.cad-site .desktop-nav{ gap: clamp(12px, 1.35vw, 21px); }
.cad-site .desktop-nav a{ font-size: .765rem; }
.cad-site .header-phone{ padding: 11px 13px; }
.cad-site .hero{
  z-index: 0;
  min-height: 620px;
  display: flex;
  align-items: center;
  isolation: isolate;
  padding: 72px 0 76px;
  overflow: hidden;
  background: var(--plum-deep);
  color: var(--paper-bright);
}
.cad-site .hero-image{
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 55%;
}
.cad-site .hero::before{
  z-index: -1;
  inset: 0;
  height: auto;
  opacity: 1;
  background: linear-gradient(90deg,
    hsl(278 43% 15% / .98) 0%,
    hsl(278 43% 15% / .96) 30%,
    hsl(278 43% 15% / .83) 49%,
    hsl(278 43% 15% / .48) 72%,
    hsl(278 43% 15% / .25) 100%);
}
.cad-site .hero::after{ display: none; }
.cad-site .hero-grid{
  width: min(1240px, calc(100% - 72px));
  grid-template-columns: minmax(0, 1.18fr) minmax(290px, .82fr);
  gap: clamp(38px, 6vw, 96px);
  align-items: end;
}
.cad-site .hero .eyebrow{ color: hsl(280 23% 82%); }
.cad-site .hero h1{
  max-width: 700px;
  margin: 18px 0 20px;
  color: var(--paper-bright);
  font-size: clamp(2.95rem, 4.25vw, 4.45rem);
  font-weight: 600;
  letter-spacing: -.065em;
  line-height: 1.075;
  text-wrap: balance;
}
.cad-site .hero-copy{
  max-width: 570px;
  color: hsl(40 18% 93%);
  font-size: clamp(1rem, 1.15vw, 1.08rem);
  line-height: 1.65;
}
.cad-site .hero-note{
  margin-top: 22px;
  padding: 0 0 0 14px;
  border-left: 2px solid hsl(280 29% 78%);
  background: transparent;
  color: var(--paper-bright);
  font-size: .93rem;
}
.cad-site .hero-actions{ margin-top: 28px; }
.cad-site .hero .button-primary{
  background: var(--paper-bright);
  color: var(--plum-deep);
}
.cad-site .hero .button-primary:hover{ background: hsl(280 18% 84%); }
.cad-site .hero .button-outline{
  border-color: hsl(40 18% 94% / .72);
  color: var(--paper-bright);
  background: hsl(278 38% 17% / .24);
}
.cad-site .hero .button-outline:hover{ background: var(--paper-bright); color: var(--plum-deep); }
.cad-site .hero-visit-card{
  max-width: 380px;
  justify-self: end;
  padding: 25px 26px 23px;
  border: 1px solid hsl(40 18% 94% / .7);
  background: hsl(42 20% 98% / .96);
  box-shadow: 9px 9px 0 hsl(278 43% 15% / .28);
  color: var(--plum-deep);
}
.cad-site .hero-visit-card::before{ font-size: 8px; padding: 7px 9px; }
.cad-site .visit-kicker{ margin: 27px 0 9px; font-size: 9px; }
.cad-site .hero-visit-card h2{
  max-width: 300px;
  font-size: clamp(1.65rem, 2.4vw, 2.3rem);
  line-height: 1.09;
  letter-spacing: -.055em;
}
.cad-site .visit-options{ margin-top: 16px; }
.cad-site .visit-option{ padding: 10px 0; }
.cad-site .visit-option strong{ font-size: .88rem; }
.cad-site .visit-option span{ font-size: .75rem; line-height: 1.45; }
.cad-site .visit-card-phone{ margin-top: 17px; font-size: .78rem; }
.cad-site .trust-strip{ background: var(--paper-bright); color: var(--plum-deep); border-color: var(--grey-line); }
.cad-site .trust-item{ min-height: 76px; border-color: var(--grey-line); }
.cad-site .trust-number{ color: var(--plum); }
.cad-site .trust-item span:last-child{ color: var(--plum-deep); }
.cad-site .section{ padding: 105px 0; }
.cad-site .section-heading h2, .cad-site .service-index h2, .cad-site .about-copy h2, .cad-site .coverage-copy h2, .cad-site .contact-panel h2{ font-size: clamp(2.1rem, 3.5vw, 3.55rem); line-height: 1.09; letter-spacing: -.06em; }
.cad-site .home-support{ background: var(--paper-bright); }
.cad-site .home-grid{ grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(54px, 8vw, 118px); }
.cad-site .home-grid > .section-heading{ align-self: start; }
.cad-site .home-grid .section-heading h2{ max-width: 430px; }
.cad-site .home-grid .section-heading > p:not(.eyebrow){ max-width: 430px; }
.cad-site .service-photo{ position: relative; overflow: hidden; background: var(--grey-soft); }
.cad-site .service-photo img{ display: block; width: 100%; height: 100%; object-fit: cover; }
.cad-site .home-photo{
  width: min(100%, 450px);
  height: clamp(210px, 21vw, 285px);
  margin-top: 34px;
}
.cad-site .home-photo img{ object-position: center 73%; }
.cad-site .compatibility-note{
  max-width: 450px;
  margin-top: 0;
  padding: 18px 20px;
  background: var(--grey-soft);
  color: var(--plum-deep);
  font-size: .82rem;
}
.cad-site .home-service-group{ padding-top: 25px; }
.cad-site .home-group-heading h3{ font-size: 1.3rem; }
.cad-site .home-row{ padding: 13px 0; }
.cad-site .home-service-groups{ gap: 29px; }
.cad-site .services{
  position: relative;
  background: hsl(278 8% 92%);
  color: var(--plum-deep);
}
.cad-site .service-layout{ grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(54px, 8vw, 112px); }
.cad-site .service-index{ top: 35px; }
.cad-site .service-index .eyebrow{ color: var(--plum); }
.cad-site .service-index h2{ margin: 14px 0 0; color: var(--plum-deep); text-wrap: balance; }
.cad-site .business-photo{ height: clamp(220px, 26vw, 325px); margin-top: 36px; }
.cad-site .business-photo img{ object-position: center 62%; }
.cad-site .business-photo::after{
  content: '';
  position: absolute;
  right: 0;
  bottom: 0;
  width: 125px;
  height: 94px;
  pointer-events: none;
  opacity: .8;
  background:
    radial-gradient(circle at 24px 27px, var(--paper-bright) 0 3px, transparent 4px),
    radial-gradient(circle at 89px 66px, var(--paper-bright) 0 3px, transparent 4px),
    linear-gradient(var(--paper-bright),var(--paper-bright)) 24px 26px / 1px 45px no-repeat,
    linear-gradient(var(--paper-bright),var(--paper-bright)) 24px 70px / 65px 1px no-repeat,
    linear-gradient(var(--paper-bright),var(--paper-bright)) 89px 66px / 1px 28px no-repeat;
}
.cad-site .services .section-heading p{ color: var(--grey-copy); font-size: 1rem; }
.cad-site .business-support-grid{ gap: 10px; margin-top: 29px; }
.cad-site .business-support-card, .cad-site .business-support-card-featured{
  padding: 20px;
  background: var(--paper-bright);
  border-color: var(--grey-line);
}
.cad-site .business-support-card-featured{ border-top: 3px solid var(--plum); padding-top: 18px; }
.cad-site .business-support-number{ color: var(--plum); }
.cad-site .business-support-card h3{ color: var(--plum-deep); }
.cad-site .business-support-card p{ color: var(--grey-copy); }
.cad-site .business-specialist-project{ background: var(--plum-deep); border-left-color: var(--plum); }
.cad-site .business-specialist-project h3{ color: var(--paper-bright); }
.cad-site .business-specialist-project p{ color: hsl(280 16% 82%); }
.cad-site .business-management-note{
  border-left-color: var(--plum);
  background: hsl(278 10% 86%);
  color: var(--plum-deep);
}
.cad-site .services .service-contact{ border-top-color: var(--grey-line); color: var(--grey-copy); }
.cad-site .services .service-contact a{ color: var(--plum-deep); }
.cad-site .services .service-contact a:hover{ color: var(--plum); }
.cad-site .about{
  border: 0;
  background: var(--paper-bright);
}
.cad-site .about-grid{ grid-template-columns: minmax(0, .79fr) minmax(0, 1.21fr); gap: clamp(60px, 9vw, 130px); }
.cad-site .wes-portrait-wrap{
  position: relative;
  display: flex;
  align-items: end;
  min-height: 395px;
  padding: 38px 35px;
  border: 0;
  background: var(--plum-deep);
  overflow: hidden;
}
.cad-site .wes-portrait-wrap::before{
  content: '';
  position: absolute;
  width: 74%;
  aspect-ratio: 1;
  right: -19%;
  top: -25%;
  border: 1px solid hsl(280 25% 70% / .34);
  border-radius: 50%;
  box-shadow: 0 0 0 57px hsl(280 25% 70% / .045), 0 0 0 115px hsl(280 25% 70% / .04);
}
.cad-site .wes-portrait{
  z-index: 1;
  flex: 0 0 auto;
  width: 170px;
  height: 170px;
  object-fit: cover;
  filter: none;
  border: 5px solid var(--paper-bright);
  box-shadow: 8px 8px 0 hsl(278 24% 35%);
}
.cad-site .wes-portrait-caption{
  z-index: 1;
  color: var(--paper-bright);
  padding-bottom: 4px;
  line-height: 1.8;
}
.cad-site .about-copy > p:not(.eyebrow){ margin: 0 0 18px; color: var(--grey-copy); }
.cad-site .about-detail strong{ color: var(--plum); }
.cad-site .process{ background: var(--paper); }
.cad-site .process-step{ min-height: 155px; }
.cad-site .testimonials{ background: hsl(278 8% 91%); }
.cad-site .testimonial{ border-top: 2px solid var(--plum); }
.cad-site .testimonial p{ font-size: 1rem; line-height: 1.65; }
.cad-site .bits-section{ background: var(--plum-deep); }
.cad-site .bits-title{ font-size: clamp(2.3rem, 4vw, 3.7rem); line-height: 1.05; }
.cad-site .bits-article h3{ font-size: clamp(1.45rem, 2.3vw, 2.15rem); line-height: 1.15; }
.cad-site .coverage-section{ background: var(--paper-bright); }
.cad-site .coverage-copy h2{ text-wrap: balance; }
.cad-site .faq-contact{ gap: clamp(44px, 7vw, 100px); }
.cad-site .contact-panel{ padding: clamp(30px, 4vw, 48px); }
.cad-site .customer-reviews-page{ background: var(--paper-bright); }
.cad-site .reviews-page-intro h1{ font-size: clamp(2.7rem, 5vw, 4.3rem); line-height: 1.08; }

@media (max-width: 1050px) {
.cad-site .hero-grid{ grid-template-columns: minmax(0, 1fr) minmax(265px, .72fr); gap: 35px; }
.cad-site .hero h1{ font-size: clamp(2.75rem, 4.7vw, 3.6rem); }
}
@media (max-width: 900px) {
.cad-site .hero{ min-height: 0; padding: 68px 0 72px; }
.cad-site .hero-grid{ width: min(100% - 40px, 720px); grid-template-columns: 1fr; gap: 39px; }
.cad-site .hero h1{ max-width: 680px; font-size: clamp(3rem, 7vw, 4rem); }
.cad-site .hero-visit-card{ justify-self: start; max-width: 580px; width: 100%; }
.cad-site .home-grid, .cad-site .service-layout, .cad-site .about-grid{ grid-template-columns: 1fr; gap: 48px; }
.cad-site .service-index{ position: static; }
.cad-site .service-index h2{ max-width: 630px; }
.cad-site .home-photo{ width: min(100%, 560px); height: 270px; }
.cad-site .business-photo{ width: min(100%, 560px); height: 300px; }
.cad-site .wes-portrait-wrap{ min-height: 290px; }
}
@media (max-width: 600px) {
.cad-site .header-inner{ min-height: 72px; }
.cad-site .brand-logo{ width: 115px; }
.cad-site .hero{ padding: 54px 0 55px; }
.cad-site .hero::before{
    background: linear-gradient(90deg, hsl(278 43% 15% / .94), hsl(278 43% 15% / .83)),
      linear-gradient(0deg, hsl(278 43% 15% / .5), transparent);
  }
.cad-site .hero-image{ object-position: 57% center; }
.cad-site .hero-grid{ width: min(100% - 32px, 520px); gap: 35px; }
.cad-site .hero h1{ font-size: clamp(2.5rem, 10.7vw, 3.5rem); line-height: 1.065; }
.cad-site .hero-copy{ font-size: .98rem; }
.cad-site .hero-actions{ gap: 10px; margin-top: 25px; }
.cad-site .hero-visit-card{ padding: 24px 21px; box-shadow: 6px 6px 0 hsl(278 43% 15% / .35); }
.cad-site .visit-kicker{ margin-top: 31px; }
.cad-site .section{ padding: 76px 0; }
.cad-site .section-heading h2, .cad-site .service-index h2, .cad-site .about-copy h2, .cad-site .coverage-copy h2, .cad-site .contact-panel h2{ font-size: clamp(2.2rem, 9vw, 3.15rem); }
.cad-site .home-photo{ height: 225px; }
.cad-site .business-photo{ height: 240px; margin-top: 26px; }
.cad-site .business-support-grid{ grid-template-columns: 1fr; }
.cad-site .wes-portrait-wrap{ min-height: 255px; padding: 22px; gap: 16px; }
.cad-site .wes-portrait{ width: 135px; height: 135px; }
.cad-site .wes-portrait-caption{ font-size: 9px; }
.cad-site .testimonials-grid{ grid-template-columns: 1fr; }
.cad-site .bits-title{ font-size: clamp(2.4rem, 10vw, 3.4rem); }
}
.cad-site .cad-node.container {width:min(1160px,calc(100% - 40px));margin-inline:auto;}
.cad-site .cad-node.hero-grid {width:min(1240px,calc(100% - 72px));}
.cad-site .cad-node.hero {min-height:620px;}
.cad-site .cad-node.section {padding:100px 0;}
.cad-site .cad-image img {display:block;width:100%;}
.cad-site .cad-image.hero-image {position:absolute;inset:0;z-index:-2;width:100%;height:100%;}
.cad-site .hero-image .elementor-widget-container,.cad-site .hero-image img {width:100%;height:100%;object-fit:cover;}
.cad-site .cad-image.wes-portrait {width:170px;height:170px;}
.cad-site .wes-portrait img {width:100%;height:100%;object-fit:cover;}
.cad-site .service-photo .cad-image,.cad-site .service-photo .elementor-widget-container,.cad-site .service-photo img {height:100%;width:100%;object-fit:cover;}
.cad-site .cad-node.home-row {padding:13px 0;}
.cad-site .cad-node.business-support-card {padding:20px;}
.cad-site .cad-node.contact-panel {padding:clamp(24px,3vw,42px);}
.cad-site .cad-node.hero-visit-card {padding:25px 26px 23px;}
.cad-site .cad-node.wes-portrait-wrap {min-height:395px;padding:38px 35px;}
.cad-site .cad-node.visit-option {padding:15px 0;}
.cad-site .cad-node.trust-item {padding:17px 20px;min-height:89px;}
.cad-site .cad-node.home-service-group {padding-top:25px;}
.cad-site .cad-node.business-specialist-project {padding:24px;margin-top:24px;}
.cad-site .cad-node.service-contact {padding-top:24px;margin-top:28px;}
.cad-site .cad-node.bits-section {padding:80px 0;}
.cad-site .cad-node.process-step {padding:24px;min-height:155px;}
.cad-site .cad-node.service-photo {margin-top:30px;}
.cad-site .cad-node.business-support-grid {margin-top:29px;}
.cad-site .cad-node.visit-options {margin-top:25px;}
.cad-site .cad-node.hero-actions {margin-top:28px;}
.cad-site .cad-node.about-details {margin-top:28px;}
.cad-site .cad-node.testimonials-actions {margin-top:26px;}
.cad-site .cad-heading h1,.cad-site .cad-heading h2 {font-weight:600;}
.cad-site .cad-faq .elementor-accordion-item {border:0;border-bottom:1px solid var(--grey-line);}
.cad-site .cad-faq .elementor-tab-title {padding:24px 0;color:var(--plum-deep);font:600 1.05rem/1.5 var(--app-font-sans);}
.cad-site .cad-faq .elementor-tab-content {padding:0 0 24px;border:0;color:var(--grey-copy);font:400 1rem/1.7 var(--app-font-sans);}
.cad-site .cad-faq .elementor-accordion-icon {float:right;}
.cad-site .cad-faq .elementor-tab-title a {color:inherit;}
.cad-site .contact-panel a,.cad-site .contact-panel p,.cad-site .contact-panel label {overflow-wrap:anywhere;}
.cad-site .contact-panel .wpforms-container {margin:25px 0 0;}
.cad-site .contact-panel .wpforms-field-label,.cad-site .contact-panel .wpforms-field-sublabel,.cad-site .contact-panel .wpforms-field-description {color:#fff!important;}
.cad-site .contact-panel .wpforms-field input,.cad-site .contact-panel .wpforms-field textarea {width:100%;max-width:100%;background:#fff;color:#27202c;border:1px solid #c5bcc9;border-radius:3px;}
.cad-site .contact-panel button.wpforms-submit {background:#fff!important;color:#392140!important;border:0;min-height:48px;}
.cad-site .contact-panel .wpforms-confirmation-container-full {color:#252025;}
.cad-site .contact-panel .wpforms-confirmation-container-full p {color:inherit;}
.cad-site .cad-post-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:30px 0;}
.cad-site .cad-post-card {border-top:1px solid currentColor;padding-top:20px;}
.cad-site .cad-post-card h3 {font-size:1.4rem;line-height:1.25;margin:14px 0;}
.cad-site .cad-post-card img {width:100%;height:180px;object-fit:cover;}
.cad-site .cad-post-card a {text-decoration:none;}
.cad-site .cad-post-card a:hover {text-decoration:underline;}
.cad-site .cad-post-card p {font-size:.95rem;}
.cad-site .cad-post-date {font-size:.8rem;}
.cad-site .cad-blog-empty {padding:24px 0;}
.cad-site .cad-single {max-width:800px;margin:auto;padding:70px 24px;}
.cad-site .cad-single h1 {font-size:clamp(2rem,5vw,3.8rem);line-height:1.12;}
.cad-site .cad-single h2 {font-size:2rem;margin-top:2em;}
.cad-site .cad-single p {margin-bottom:1.4em;}
.cad-site .cad-single .wp-post-image {width:100%;height:auto;margin:20px 0;}
.cad-site .cad-pagination {display:flex;flex-wrap:wrap;gap:16px;margin-top:30px;}
.cad-site .cad-pagination a {padding:10px;}
.cad-site .cad-skip {position:absolute;left:16px;top:-100px;background:white;color:#302039;padding:12px;z-index:9999;}
.cad-site .cad-skip:focus {top:10px;}
.cad-site .mobile-nav[hidden] {display:none!important;}
.cad-site .mobile-nav:not([hidden]) {display:flex;}
.cad-site .header-inner a {min-height:44px;align-content:center;}
.cad-site .bits-section h2 {font-size:clamp(2.3rem,4vw,3.7rem);line-height:1.1;color:inherit;}
@media(max-width:900px){.cad-site .cad-node.hero {min-height:0;}.cad-site .cad-node.hero-grid {width:calc(100% - 40px);}.cad-site .cad-post-grid {grid-template-columns:1fr;}.cad-site .cad-node.wes-portrait-wrap {min-height:280px;}.cad-site .cad-node.section {padding:70px 0;}}
@media(max-width:600px){.cad-site .cad-node.hero {padding:54px 0;}.cad-site .cad-node.hero-grid {width:calc(100% - 32px);}.cad-site .cad-node.container {width:calc(100% - 32px);}.cad-site .cad-node.wes-portrait-wrap {padding:22px;min-height:255px;}.cad-site .cad-image.wes-portrait {width:135px;height:135px;}.cad-site .cad-node.hero-visit-card {padding:24px 21px;}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}.cad-site *{animation:none!important;transition:none!important;}}
