/* THEME: change these tokens for each customer. */
:root {
  --ink:#101b20;
  --muted:#526169;
  --paper:#fff;
  --soft:#f3f5f6;
  --line:#dde3e6;
  --accent:#eab76b;
  --accent-ink:#101b20;
  --accent-light:#85632e;
  --accent-dark:#eab76b;
  --accent-hover:var(--accent);
  --serif:Georgia,'Times New Roman',serif;
  --sans:Arial,Helvetica,sans-serif;
  --max:1200px;
  --radius:8px
}

* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:110px
}
body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font:17px/1.65 var(--sans)
}
a {
  color:inherit;
  text-underline-offset:5px
}
button,input,select,textarea {
  font:inherit
}
a,button,input,select,textarea,summary {
  -webkit-tap-highlight-color:transparent
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid currentColor;
  outline-offset:5px
}
img {
  max-width:100%;
  display:block
}
h1,h2,h3,p {
  margin-top:0
}
h1,h2 {
  font-family:var(--serif);
  font-weight:400;
  line-height:1.08;
  letter-spacing:-.035em
}
h1 {
  font-size:clamp(2.6rem,5vw,4.75rem);
  margin-bottom:25px
}
h2 {
  font-size:clamp(2.15rem,3.6vw,3.5rem);
  margin-bottom:24px
}
h3 {
  font-size:1.2rem;
  line-height:1.35
}
p {
  margin-bottom:20px
}
.wrap {
  width:min(var(--max),calc(100% - 64px));
  margin:auto
}
.skip {
  position:fixed;
  top:-100px;
  background:white;
  z-index:99;
  padding:12px
}
.skip:focus {
  top:8px
}
.demo {
  background:var(--ink);
  color:#e4eeed;
  text-align:center;
  font-size:12px;
  letter-spacing:.03em;
  padding:7px 20px
}
.header {
  background:#fff;
  position:sticky;
  top:0;
  z-index:20;
  border-bottom:1px solid var(--line)
}
.nav-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  min-height:96px
}
.brand {
  display:flex;
  gap:12px;
  align-items:center;
  text-decoration:none;
  flex-shrink:0
}
.brand-mark {
  width:40px;
  height:40px;
  background:var(--ink);
  color:#fff;
  display:grid;
  place-items:center;
  font:24px var(--serif)
}
.brand strong {
  font:600 24px var(--serif);
  letter-spacing:-.04em
}
.brand small {
  display:block;
  font-size:12px;
  letter-spacing:.2em;
  text-transform:uppercase;
  margin-top:2px
}
.nav {
  display:flex;
  align-items:center;
  gap:23px;
  font-size:14px;
  font-weight:600
}
.nav>a {
  text-decoration:none;
  white-space:nowrap
}
.nav a:hover,.nav a[aria-current=page] {
  color:var(--accent)
}
.nav details {
  position:relative
}
.nav summary {
  cursor:pointer;
  list-style:none
}
.nav summary::after {
  content:'⌄';
  margin-left:6px
}
.dropdown {
  position:absolute;
  top:36px;
  left:-18px;
  background:white;
  border:1px solid var(--line);
  padding:12px;
  width:235px;
  box-shadow:0 14px 30px #182e3915
}
.dropdown a {
  display:block;
  text-decoration:none;
  padding:9px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:15px 23px;
  background:var(--accent);
  color:var(--accent-ink)!important;
  border:1px solid var(--accent);
  border-radius:var(--radius);
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  cursor:pointer;
  line-height:1.5
}
.button:hover {
  background:var(--accent-hover)
}
.button.secondary {
  background:transparent;
  color:var(--ink)!important;
  border-color:#a5b1b5
}
.button.secondary:hover {
  background:#e8edeb
}
.nav .button {
  padding:12px 17px
}
.menu-toggle {
  display:none
}
.eyebrow {
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:12px;
  font-weight:700;
  color:var(--accent-light);
  margin-bottom:22px;
  display:block
}
.hero {
  background:var(--soft);
  padding:64px 0 68px
}
.hero-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center
}
.hero p {
  max-width:480px;
  color:var(--muted);
  font-size:18px
}
.hero h1 em {
  font-weight:400;
  color:var(--accent)
}
.actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:28px 0
}
.hero-image {
  position:relative
}
.hero-image img {
  width:100%;
  height:505px;
  object-fit:cover;
  border-radius:var(--radius)
}
.image-note {
  position:absolute;
  bottom:20px;
  left:20px;
  background:white;
  padding:17px 23px;
  max-width:calc(100% - 40px);
  font-size:14px;
  border-left:3px solid var(--accent)
}
.image-note strong {
  display:block
}
.micro {
  font-size:14px!important;
  color:var(--muted)
}
.hero-trust {
  display:flex;
  gap:12px;
  align-items:center;
  font-size:13px
}
.stars {
  color:var(--accent-light);
  letter-spacing:3px;
  white-space:nowrap
}
.trust-bar {
  border-bottom:1px solid var(--line)
}
.trust-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:27px 0
}
.trust-grid>div {
  padding:0 26px;
  border-right:1px solid var(--line);
  font-size:13px;
  color:var(--muted)
}
.trust-grid>div:first-child {
  padding-left:0
}
.trust-grid>div:last-child {
  border:0
}
.trust-grid strong {
  display:block;
  color:var(--ink);
  font-size:16px
}
section.section {
  padding:88px 0
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:35px;
  margin-bottom:35px
}
.section-heading h2 {
  margin-bottom:0
}
.section-heading p {
  max-width:370px;
  margin:0;
  color:var(--muted)
}
.cards {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px
}
.service-card {
  border:1px solid var(--line);
  padding:29px 25px;
  display:flex;
  flex-direction:column;
  transition:transform .2s,border-color .2s
}
.service-card:hover {
  transform:translateY(-4px);
  border-color:var(--accent)
}
.number {
  font:italic 28px var(--serif);
  color:var(--accent-light);
  display:block;
  margin-bottom:32px
}
.service-card p {
  font-size:15px;
  color:var(--muted)
}
.text-link {
  font-size:14px;
  font-weight:700;
  color:var(--accent)
}
.service-card .text-link {
  margin-top:auto
}
.dark {
  background:var(--ink);
  color:white
}
.dark .eyebrow {
  color:var(--accent-dark)
}
.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:85px
}
.dark p {
  color:#c1cdd0
}
.benefit {
  padding:0 0 22px;
  margin-bottom:23px;
  border-bottom:1px solid #ffffff25
}
.benefit:last-child {
  margin-bottom:0
}
.benefit h3 {
  margin-bottom:8px
}
.benefit p {
  font-size:16px;
  margin:0
}
.steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:45px
}
.step {
  border-top:1px solid var(--line);
  padding-top:25px
}
.step .number {
  margin-bottom:22px
}
.step p {
  font-size:16px;
  color:var(--muted)
}
.soft {
  background:var(--soft)
}
.gallery {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:20px
}
.gallery figure {
  margin:0
}
.gallery img {
  height:290px;
  width:100%;
  object-fit:cover
}
.gallery figure:nth-child(2) img {
  object-position:15% 65%
}
.gallery figure:nth-child(3) img {
  object-position:85% 70%
}
.gallery figcaption {
  padding:14px 0 0;
  font-size:14px
}
.review-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px
}
.review {
  border:1px solid var(--line);
  padding:28px;
  margin:0
}
.review blockquote {
  margin:18px 0;
  font:21px/1.5 var(--serif)
}
.review figcaption {
  font-size:14px
}
.review small {
  display:block;
  color:var(--muted);
  font-size:12px
}
.area-list {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:25px 0
}
.area-list a {
  padding:8px 17px;
  background:white;
  border:1px solid var(--line);
  font-size:14px;
  text-decoration:none
}
.faq {
  max-width:830px;
  margin:auto
}
.faq details {
  border-bottom:1px solid var(--line);
  padding:20px 0
}
.faq summary {
  font-weight:600;
  cursor:pointer;
  padding-right:24px
}
.faq details p {
  color:var(--muted);
  margin:17px 0 2px
}
.cta {
  background:var(--ink);
  padding:58px 0
}
.cta .wrap {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px
}
.cta h2 {
  font-size:40px;
  margin-bottom:10px
}
.cta p {
  margin:0;
  color:var(--muted)
}
.footer {
  background:var(--ink);
  color:#d6e0e2;
  padding:60px 0 25px;
  font-size:14px
}
.footer-grid {
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:40px
}
.footer .brand {
  color:white;
  margin-bottom:25px
}
.footer h3 {
  font-size:14px;
  color:white
}
.footer a {
  display:block;
  text-decoration:none;
  margin-bottom:7px
}
.footer .brand {
  display:flex
}
.footer p {
  font-size:13px
}
.footer-bottom {
  border-top:1px solid #ffffff25;
  margin-top:40px;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  font-size:12px;
  gap:25px
}
.mobile-call {
  display:none
}
.page-intro {
  padding:65px 0;
  background:var(--soft)
}
.breadcrumb {
  font-size:13px;
  margin-bottom:28px;
  color:var(--muted)
}
.page-intro h1 {
  max-width:820px;
  font-size:clamp(2.7rem,4.5vw,4.25rem)
}
.page-intro p {
  max-width:650px;
  font-size:19px;
  color:var(--muted);
  margin-bottom:0
}
.prose {
  max-width:750px
}
.prose h2 {
  font-size:35px;
  margin-top:35px
}
.prose h2:first-child {
  margin-top:0
}
.check-list {
  list-style:none;
  padding:0
}
.check-list li {
  padding:12px 0;
  border-bottom:1px solid var(--line)
}
.check-list li::before {
  content:'✓';
  color:var(--accent-light);
  margin-right:12px
}
.aside {
  padding:30px;
  background:var(--soft);
  align-self:start
}
.aside h2 {
  font-size:30px
}
.aside p {
  font-size:15px
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px
}
.field label,fieldset legend {
  display:block;
  font-size:14px;
  font-weight:600;
  margin-bottom:7px
}
.field input,.field select,.field textarea {
  width:100%;
  padding:12px;
  border:1px solid #a6b4b8;
  border-radius:3px;
  background:white;
  color:var(--ink)
}
.full {
  grid-column:1/-1
}
fieldset {
  border:0;
  padding:0;
  margin:0
}
fieldset label {
  margin-right:20px;
  font-size:15px
}
input[type=radio] {
  accent-color:var(--accent)
}
.form-note {
  font-size:14px;
  color:var(--muted);
  margin:0
}
.form-status {
  padding:15px;
  background:var(--soft);
  border-left:3px solid var(--accent)
}
[hidden] {
  display:none!important
}
.error-page {
  text-align:center;
  padding:100px 25px
}
.error-page p {
  max-width:500px;
  margin:auto
}
.photo-wide {
  width:100%;
  max-height:420px;
  object-fit:cover;
  margin-bottom:35px
}

@media(min-width:1051px) {
  .nav {
  display:flex!important
}

}
@media(max-width:1100px) {
  .nav {
  gap:14px
}
.nav-row {
  gap:15px
}
.brand strong {
  font-size:21px
}
.wrap {
  width:calc(100% - 48px)
}
.hero-grid {
  gap:35px
}
.cards {
  grid-template-columns:repeat(2,1fr)
}

}

@media(max-width:1050px) {
  .menu-toggle {
  display:block;
  background:white;
  border:1px solid var(--line);
  padding:9px 14px;
  border-radius:3px;
  font-size:14px
}
.nav-row {
  min-height:80px;
  flex-wrap:wrap;
  padding-top:16px;
  padding-bottom:16px
}
.nav {
  width:100%;
  flex-wrap:wrap;
  padding:14px 0
}
.js .nav {
  display:none
}
.js .nav.open {
  display:flex
}
.nav>a,.nav>details {
  width:100%;
  padding:7px 0
}
.nav .button {
  width:auto
}
.dropdown {
  position:static;
  width:100%;
  box-shadow:none;
  border:0;
  border-left:2px solid var(--line);
  margin-top:12px
}
.hero-image img {
  height:450px
}
.split {
  gap:40px
}
.footer-grid {
  grid-template-columns:1.5fr 1fr;
  gap:30px
}

}

@media(max-width:700px) {
  .wrap {
  width:calc(100% - 40px)
}
.demo {
  font-size:12px
}
.hero {
  padding:40px 0
}
.hero-grid,.split {
  grid-template-columns:1fr;
  gap:30px
}
.hero p {
  font-size:17px
}
.hero-image img {
  height:350px
}
.hero h1 {
  font-size:3rem
}
.eyebrow {
  font-size:12px;
  margin-bottom:18px
}
.hero-trust {
  font-size:12px;
  flex-wrap:wrap
}
.trust-grid {
  grid-template-columns:1fr 1fr;
  gap:22px
}
.trust-grid>div,.trust-grid>div:first-child {
  padding:0 12px;
  border:0
}
.trust-grid strong {
  font-size:14px
}
.trust-grid>div {
  font-size:12px
}
section.section {
  padding:58px 0
}
.section-heading {
  display:block
}
.section-heading p {
  margin-top:20px
}
.cards {
  gap:12px
}
.service-card {
  padding:22px 18px
}
.service-card h3 {
  font-size:18px
}
.number {
  margin-bottom:22px
}
.steps,.review-grid {
  grid-template-columns:1fr;
  gap:20px
}
.gallery {
  grid-template-columns:1fr 1fr
}
.gallery figure:first-child {
  grid-column:1/-1
}
.gallery img {
  height:210px
}
.gallery figure:first-child img {
  height:280px
}
.cta .wrap {
  display:block
}
.cta h2 {
  font-size:34px
}
.footer-grid {
  grid-template-columns:1fr 1fr;
  gap:25px
}
.footer-grid>div:first-child {
  grid-column:1/-1
}
.footer-bottom {
  display:block
}
.footer {
  padding-bottom:90px
}
.mobile-call {
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  display:flex;
  justify-content:center;
  gap:15px;
  background:var(--accent);
  color:white;
  z-index:25;
  text-decoration:none;
  padding:14px 20px max(14px,env(safe-area-inset-bottom));
  font-size:15px;
  font-weight:700;
  box-shadow:0 -3px 15px #0001
}
.form-grid {
  grid-template-columns:1fr
}
.page-intro {
  padding:40px 0
}
.actions .button {
  flex-grow:1
}
.brand strong {
  font-size:23px
}
.footer .brand strong {
  font-size:25px
}

}

@media(max-width:370px) {
  .cards {
  grid-template-columns:1fr
}
.brand strong {
  font-size:20px
}
.brand-mark {
  width:32px
}
.wrap {
  width:calc(100% - 32px)
}

}
@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto
}
* {
  transition:none!important
}

}


@media(max-width:1050px) {
  .nav.open {
  max-height:calc(100dvh - 160px);
  overflow-y:auto;
  overscroll-behavior:contain
}

}


/* Premium local-service composition. Accent colors are generated in theme.css. */
body { -webkit-font-smoothing:antialiased; }
h1,h2 { text-wrap:balance; }
h1 { font-weight:600; }
h2 { font-size:clamp(2.25rem,4vw,3.75rem); }
a,button { touch-action:manipulation; }
p, h1, h2, h3, a { overflow-wrap:break-word; }
.wrap { max-width:1280px; }
.demo { background:#080f13; font-size:.75rem; color:#bdc7ce; }
.header { background:var(--ink); color:#fff; border-bottom:1px solid #ffffff1c; }
.nav-row { min-height:88px; }
.brand-mark { background:var(--accent); color:var(--accent-ink); border-radius:50%; width:44px; height:44px; font-weight:bold; }
.brand strong { font-size:25px; }
.brand small { color:#bac6cc; font-size:.75rem; letter-spacing:.1em; }
.nav a:hover,.nav a[aria-current=page] { color:var(--accent-dark); }
.nav a[aria-current=page] { text-decoration:underline; text-underline-offset:8px; }
.dropdown { background:var(--ink); border-color:#ffffff30; border-radius:var(--radius); }
.dropdown a { min-height:44px; }
.button { min-height:48px; font-size:.875rem; padding:16px 23px; transition:box-shadow .2s,transform .2s; }
.button:hover { box-shadow:0 4px 0 #0003; transform:translateY(-2px); }
.button:active { transform:translateY(0); }
.button.secondary { border-color:var(--line); }
.hero { background:var(--ink); color:#fff; padding:72px 0 80px; overflow:hidden; }
.hero-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:54px; }
.hero-copy { position:relative; z-index:1; }
.eyebrow { font-size:.75rem; letter-spacing:.13em; }
.hero .eyebrow { color:var(--accent-dark); display:inline-flex; gap:10px; align-items:center; }
.hero .eyebrow::before { content:''; width:7px; height:7px; background:currentColor; border-radius:50%; }
.hero h1 { font-size:clamp(3.5rem,6.4vw,6rem); line-height:.99; letter-spacing:-.05em; margin-bottom:28px; }
.hero h1 em { color:var(--accent-dark); font-weight:400; }
.hero p { color:#c5cfd4; font-size:1.125rem; max-width:480px; line-height:1.7; }
.hero .actions { margin:32px 0 24px; }
.hero .secondary,.cta .secondary { color:#fff!important; border-color:#ffffff60; }
.hero .secondary:hover,.cta .secondary:hover { background:#ffffff12; }
.hero-location { color:#c5cfd4; font-size:.875rem; text-decoration:none; display:inline-flex; gap:10px; align-items:baseline; }
.hero-location:hover { text-decoration:underline; }
.hero-location span { color:var(--accent-dark); }
.hero-image { padding:12px 0 0 12px; }
.hero-image::before { content:''; position:absolute; inset:0 18px 26px 0; border:1px solid #ffffff38; border-radius:140px 12px 12px 12px; }
.hero-image img { position:relative; height:520px; border-radius:130px 8px 8px 8px; object-position:var(--image-position,50% 50%); }
.image-note { bottom:24px; left:36px; right:24px; max-width:none; background:#101b20f2; color:#c5cfd4; padding:18px 20px; border-radius:0 6px 6px 0; font-size:.75rem; }
.image-note strong { font:1.375rem/1.25 var(--serif); color:#fff; margin-bottom:6px; }
.trust-bar { background:#fafbfc; }
.trust-grid { grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); padding:26px 0; gap:20px 0; }
.trust-grid>div { display:flex; gap:12px; align-items:center; font-size:.75rem; padding:0 22px; }
.trust-grid strong { font-size:.875rem; margin-bottom:2px; }
.trust-icon { color:var(--accent-light); font-size:1.2rem; }
section.section { padding:96px 0; }
.section-heading { margin-bottom:40px; }
.cards { gap:20px; }
.service-card { padding:0; border-radius:12px; background:#fff; overflow:hidden; box-shadow:0 8px 24px #101b2007; }
.service-card:focus-within { border-color:var(--accent-light); }
.service-visual { position:relative; height:185px; background:var(--soft); }
.service-visual img { width:100%; height:100%; object-fit:cover; }
.service-visual .number { position:absolute; top:14px; left:14px; display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--ink); color:white; font:600 .875rem var(--sans); margin:0; }
.sample-image { position:absolute; right:10px; bottom:10px; background:#101b20ed; color:white; font-size:.75rem; padding:3px 8px; border-radius:4px; }
.service-content { padding:26px 24px; flex:1; display:flex; flex-direction:column; }
.service-card h3 { font-size:1.2rem; margin-bottom:12px; }
.service-card p { font-size:1rem; }
.service-card .text-link { padding-top:10px; font-size:.875rem; }
.dark .text-link { color:var(--accent-dark); }
.dark { background:var(--ink); }
.steps { gap:32px; }
.step { border-top:2px solid var(--line); }
.step .number { font:500 1.8rem var(--serif); }
.gallery img,.photo-wide { border-radius:12px; }
.review { padding:32px; border-radius:12px; box-shadow:0 12px 32px #101b2007; background:#fff; display:flex; flex-direction:column; }
.review-label { font-size:.75rem; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }
.review blockquote { font-size:1.5rem; line-height:1.45; margin:24px 0 32px; }
.review figcaption { display:flex; gap:12px; align-items:center; margin-top:auto; font-weight:bold; }
.review small { font-size:.75rem; font-weight:normal; }
.review-avatar { width:42px; height:42px; border-radius:50%; flex-shrink:0; display:grid; place-items:center; background:var(--soft); font-family:var(--serif); font-size:1.25rem; }
.area-list a { border-radius:6px; padding:12px 18px; min-height:48px; }
.area-list a:hover { border-color:var(--accent-light); }
.faq { max-width:900px; }
.faq summary { min-height:44px; display:list-item; align-content:center; }
.faq details[open] summary { color:var(--accent-light); }
.cta { padding:84px 0; color:white; border-bottom:1px solid #ffffff25; }
.cta .wrap { align-items:start; }
.cta .eyebrow { color:var(--accent-dark); }
.cta h2 { font-size:clamp(2.5rem,4.5vw,4.5rem); max-width:640px; }
.cta p { color:#c5cfd4; }
.cta .actions { min-width:260px; flex-direction:column; }
.footer { background:#0b1418; }
.footer a:hover { text-decoration:underline; }
.footer p,.footer-bottom { font-size:.875rem; }
.page-intro { background:var(--ink); color:#fff; padding:72px 0; }
.page-intro .eyebrow { color:var(--accent-dark); }
.page-intro .breadcrumb,.page-intro p { color:#c5cfd4; }
.aside { border:1px solid var(--line); border-radius:12px; padding:32px; }
.aside p { font-size:1rem; }
.split>* { min-width:0; }
.field input,.field select,.field textarea { border-radius:6px; min-height:48px; }
fieldset label { display:inline-flex; align-items:center; min-height:44px; gap:8px; }
.form-status { border-radius:0 6px 6px 0; }
.mobile-call { color:var(--accent-ink); }
@media(max-width:1100px) {
  .hero-grid { gap:32px; }
  .hero h1 { font-size:clamp(3.5rem,6.5vw,5rem); }
  .hero-image img { height:500px; }
  .service-visual { height:220px; }
}
@media(max-width:1050px) {
  .menu-toggle { background:transparent; color:#fff; border-color:#ffffff60; min-height:44px; }
  .nav-row { min-height:80px; }
  .nav>a,.nav>details>summary { min-height:44px; }
  .dropdown { border-left-color:#ffffff40; }
}
@media(max-width:800px) {
  .hero-grid { grid-template-columns:1fr; gap:36px; }
  .hero { padding:48px 0; }
  .hero h1 { font-size:clamp(3.4rem,10vw,5.5rem); }
  .hero p { max-width:590px; }
  .hero-image { max-width:620px; width:100%; }
  .hero-image img { height:420px; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-grid>div,.trust-grid>div:first-child { padding:0 12px; border:0; }
  .cta .wrap { display:block; }
  .cta .actions { flex-direction:row; }
}
@media(max-width:700px) {
  section.section { padding:64px 0; }
  .hero-image img { height:350px; border-top-left-radius:88px; }
  .hero-image::before { border-top-left-radius:100px; }
  .hero .actions { flex-direction:column; align-items:stretch; }
  .hero .eyebrow { font-size:.75rem; }
  .service-visual { height:180px; }
  .service-content { padding:22px; }
  .review { padding:28px; }
  .cta { padding:64px 0; }
  .page-intro { padding:48px 0; }
  .brand { min-width:0; flex-shrink:1; }
  .brand strong { font-size:1.4rem; }
  .brand-mark { flex-shrink:0; }
  .nav-row { gap:12px; }
  .mobile-call { flex-wrap:wrap; gap:4px 16px; }
  html { scroll-padding-bottom:100px; }
}
@media(max-width:480px) {
  .cards { grid-template-columns:1fr; gap:24px; }
  .service-visual { height:220px; }
  .trust-grid { gap:22px 12px; }
  .trust-grid>div,.trust-grid>div:first-child { padding:0; align-items:start; gap:8px; }
  .trust-grid strong { font-size:.875rem; }
  .image-note { left:26px; right:14px; padding:14px; bottom:14px; }
  .hero h1 { font-size:clamp(3rem,12vw,4.5rem); }
  .hero-image img { height:320px; }
  .cta .actions { flex-direction:column; }
}

/* Factory presets share the approved structure; only tokens and surface details vary. */
.hero-placeholder {
  min-height:505px; padding:clamp(30px,5vw,68px);
  background:linear-gradient(145deg,var(--ink),#33464e); color:white;
  display:flex; flex-direction:column; justify-content:flex-end; border-radius:var(--radius);
}
.hero-placeholder>span { font:clamp(5rem,12vw,9rem)/.8 var(--serif); color:var(--accent); margin-bottom:auto; }
.hero-placeholder strong { font-size:1.2rem; }
.hero-placeholder small { color:#d7e0e3; }
.service-placeholder {
  min-height:170px; padding:22px; background:var(--ink); color:white;
  display:flex; flex-direction:column; justify-content:space-between;
}
.service-placeholder .number { color:var(--accent); margin:0; }
.style-bold-industrial { --serif:Arial Black,Impact,Arial,sans-serif; --sans:Arial,Helvetica,sans-serif; }
.style-bold-industrial h1,.style-bold-industrial h2 { text-transform:uppercase; letter-spacing:-.045em; }
.style-bold-industrial .demo { background:var(--accent); color:var(--accent-ink); font-weight:800; }
.style-bold-industrial .header { border-bottom:4px solid var(--ink); }
.style-bold-industrial .button {
  min-height:56px; padding:16px 27px; text-transform:uppercase; letter-spacing:.045em;
  box-shadow:4px 4px 0 var(--ink);
}
.style-bold-industrial .button.secondary { background:white; }
.style-bold-industrial .hero { background:linear-gradient(110deg,var(--soft) 0 72%,var(--accent) 72%); }
.style-bold-industrial .service-card,.style-bold-industrial .review,.style-bold-industrial .aside {
  border-width:2px; box-shadow:7px 7px 0 var(--line);
}
.style-bold-industrial .eyebrow { letter-spacing:.2em; }
.style-clean-professional { --serif:Arial,Helvetica,sans-serif; }
.style-clean-professional h1,.style-clean-professional h2 { letter-spacing:-.025em; font-weight:700; }
.style-clean-professional .header { box-shadow:0 6px 24px #17232b0d; }
.style-clean-professional .service-card,.style-clean-professional .review,.style-clean-professional .aside { box-shadow:0 10px 28px #17232b0d; }
@media(max-width:700px) {
  .hero-placeholder { min-height:350px; }
  .style-bold-industrial .hero { background:var(--soft); }
}
