:root {
  --navy: #0f2a47;
  --navy-deep: #0a1d31;
  --teal: #2c6e7c;
  --teal-light: #7abbc7;
  --copper: #c1762f;
  --copper-dark: #9d5c23;
  --ink: #1c2a36;
  --body: #45566b;
  --muted: #6e8598;
  --line: #dde4ea;
  --warm-line: #ddd5ca;
  --paper: #ffffff;
  --warm: #f8f5ef;
  --warm-2: #f1ece3;
  --shadow: 0 24px 70px rgba(15, 42, 71, 0.12);
  --shell: min(1180px, calc(100vw - 48px));
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--copper); outline-offset: 4px; }
[hidden] { display: none !important; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; left: 12px; top: 12px; z-index: 1000; transform: translateY(-160%); background: #fff; color: var(--navy); padding: 10px 14px; border: 2px solid var(--copper); font-weight: 700; }
.skip-link:focus { transform: translateY(0); }

/* Technical label system */
.eyebrow,
.utility-bar,
.service-number,
.hero-process,
.hero-visual-caption,
.footer-column h2,
.contact-method > span,
.trust-strip,
.header-call span {
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.eyebrow { margin: 0 0 14px; color: var(--teal); font-size: 11px; font-weight: 700; }
h1, h2, h3, p { text-wrap: pretty; }
h1, h2, h3 { font-family: var(--serif); color: var(--navy); font-weight: 400; }
h1 { font-size: clamp(42px, 6vw, 78px); line-height: 1.02; letter-spacing: -0.035em; }
h2 { margin: 0; font-size: clamp(32px, 4vw, 52px); line-height: 1.08; letter-spacing: -0.025em; }
h3 { margin: 0; font-size: 26px; line-height: 1.15; }

.utility-bar { background: var(--navy-deep); color: #9fb6c4; font-size: 10.5px; }
.utility-inner { min-height: 34px; display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.utility-inner a { color: #d7e1e8; text-decoration: none; }
.utility-inner a:hover { color: #fff; }
.utility-actions { display: flex; align-items: center; gap: 12px; }

.site-header { position: relative; z-index: 50; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.97); }
.header-inner { height: 88px; display: grid; grid-template-columns: 250px 1fr auto; align-items: center; gap: 30px; }
.brand-link { display: inline-flex; align-items: center; text-decoration: none; }
.brand-link img { display: block; object-fit: contain; }
.brand-desktop img { width: 220px; max-height: 64px; object-position: left center; }
.brand-mobile { display: none; }
.desktop-nav { display: flex; justify-content: center; align-items: center; gap: clamp(16px, 2vw, 28px); }
.nav-link { position: relative; color: #33475a; text-decoration: none; font-family: var(--mono); font-size: 11px; letter-spacing: .04em; white-space: nowrap; }
.nav-link::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -10px; height: 2px; background: var(--copper); transition: right .2s ease; }
.nav-link:hover::after { right: 0; }
.header-call { display: grid; min-width: 190px; padding: 12px 16px; background: var(--navy); color: #fff; text-decoration: none; }
.header-call span { font-size: 9.5px; color: var(--teal-light); }
.header-call strong { font-size: 15px; letter-spacing: .02em; }
.menu-toggle { display: none; width: 48px; height: 48px; border: 1px solid var(--line); background: #fff; align-items: center; justify-content: center; flex-direction: column; gap: 5px; }
.menu-toggle span { display: block; width: 21px; height: 2px; background: var(--navy); }
.mobile-menu { border-top: 1px solid var(--line); background: #fff; padding: 12px 24px 24px; }
.mobile-menu .nav-link { display: block; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 13px; }
.mobile-menu-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding-top: 16px; }
.mobile-menu-contact a { min-height: 48px; display: grid; place-items: center; background: var(--navy); color: #fff; text-decoration: none; font-weight: 700; }

.hero { position: relative; overflow: hidden; background: var(--navy); color: #fff; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 0 72%, rgba(122,187,199,.06) 72% 72.15%, transparent 72.15%), linear-gradient(0deg, transparent 0 75%, rgba(122,187,199,.05) 75% 75.2%, transparent 75.2%); background-size: 170px 170px; pointer-events: none; }
.hero-grid { position: relative; min-height: 650px; display: grid; grid-template-columns: 1.15fr .85fr; }
.hero-copy { padding: 92px 70px 86px 0; align-self: center; }
.hero .eyebrow { color: var(--teal-light); }
.hero h1 { color: #fff; margin: 0 0 24px; max-width: 760px; }
.hero h1 span { color: #c5d6df; }
.hero-lede { max-width: 690px; margin: 0 0 16px; color: #bccbd8; font-size: 18px; line-height: 1.65; }
.direct-line { margin: 0 0 28px; color: #e9eef1; }
.cta-pair { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; }
.button { min-height: 58px; min-width: 190px; padding: 11px 18px; display: grid; align-content: center; text-decoration: none; border: 1px solid; }
.button span { font-family: var(--mono); font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; }
.button strong { font-size: 15px; }
.button-primary { background: var(--copper); border-color: var(--copper); color: #fff; }
.button-primary:hover { background: #d3863c; }
.button-secondary { background: transparent; border-color: rgba(122,187,199,.55); color: #fff; }
.button-secondary:hover { border-color: #fff; }
.button-secondary-light { color: var(--navy); border-color: var(--teal); }
.button-secondary-light:hover { border-color: var(--navy); }
.trust-strip { display: inline-flex; flex-wrap: wrap; gap: 0; margin-top: 24px; border: 1px solid rgba(122,187,199,.3); color: #a9bdc9; font-size: 10px; }
.trust-strip span { padding: 9px 13px; border-right: 1px solid rgba(122,187,199,.3); }
.trust-strip span:last-child { border-right: 0; color: #fff; font-size: 14px; text-transform: none; letter-spacing: .04em; }
.hero-visual { position: relative; min-height: 650px; border-left: 1px solid rgba(122,187,199,.25); background: linear-gradient(145deg, rgba(44,110,124,.16), rgba(10,29,49,.2)); display: grid; place-items: center; overflow: hidden; }
.hero-visual::before { content: ""; position: absolute; width: 410px; height: 410px; border: 1px solid rgba(122,187,199,.25); border-radius: 50%; }
.hero-visual::after { content: ""; position: absolute; width: 290px; height: 290px; border: 1px solid rgba(193,118,47,.35); border-radius: 50%; }
.hero-mark { position: relative; z-index: 2; width: 250px; height: 250px; display: grid; place-items: center; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.22); }
.hero-mark img { width: 210px; height: 210px; object-fit: contain; }
.diagnostic-lines { position: absolute; inset: 0; pointer-events: none; }
.diagnostic-lines span { position: absolute; display: block; background: rgba(122,187,199,.33); }
.diagnostic-lines span:nth-child(1) { width: 45%; height: 1px; left: 0; top: 24%; }
.diagnostic-lines span:nth-child(2) { width: 1px; height: 38%; right: 22%; top: 0; }
.diagnostic-lines span:nth-child(3) { width: 35%; height: 1px; right: 0; bottom: 30%; background: rgba(193,118,47,.5); }
.diagnostic-lines span:nth-child(4) { width: 1px; height: 28%; left: 18%; bottom: 0; background: rgba(193,118,47,.45); }
.hero-visual-caption { position: absolute; top: 22px; left: 22px; right: 22px; display: flex; justify-content: space-between; color: #8fa8b8; font-size: 9px; }
.hero-process { position: absolute; left: 0; right: 0; bottom: 0; padding: 16px 22px; border-top: 1px solid rgba(122,187,199,.25); background: rgba(10,29,49,.76); color: #9fb6c4; font-size: 10.5px; }
.hero-process b { color: var(--copper); padding: 0 8px; }

.service-index { padding: 92px 0 72px; background: #fff; }
.section-heading { margin-bottom: 38px; }
.split-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: end; }
.split-heading > p { margin: 0 0 3px; color: var(--body); font-size: 16px; line-height: 1.7; }
.service-rows { border-top: 1px solid var(--line); }
.service-row { display: grid; grid-template-columns: 80px 1fr auto; gap: 24px; align-items: center; padding: 27px 0; border-bottom: 1px solid var(--line); text-decoration: none; transition: padding .2s ease, background .2s ease; }
.service-row:hover { padding-left: 14px; padding-right: 14px; background: #f8fafb; }
.service-number { color: var(--copper); font-size: 11px; }
.service-row p { margin: 6px 0 0; color: var(--body); }
.row-arrow { color: var(--teal); font-size: 25px; }

.problem-section { padding: 90px 0; background: var(--warm); border-block: 1px solid var(--warm-line); }
.problem-grid, .content-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.problem-grid p, .content-grid p { color: var(--body); font-size: 17px; line-height: 1.75; }
.problem-grid > div:last-child > p:first-child, .content-grid > div:last-child > p:first-child { margin-top: 0; }
.text-link { display: inline-block; margin-top: 14px; color: var(--navy); text-decoration: none; border-bottom: 1px solid var(--copper); padding-bottom: 4px; font-weight: 700; }
.text-link span { color: var(--copper); }

.about-preview { padding: 100px 0; }
.about-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 90px; align-items: center; }
.about-grid > div:last-child p { color: var(--body); font-size: 17px; line-height: 1.75; }
.portrait-placeholder { min-height: 470px; position: relative; display: grid; place-items: center; background: var(--navy); overflow: hidden; }
.portrait-placeholder::before { content: ""; position: absolute; inset: 28px; border: 1px solid rgba(122,187,199,.28); }
.portrait-placeholder img { width: 180px; padding: 18px; background: #fff; position: relative; z-index: 1; }
.portrait-placeholder span { position: absolute; bottom: 28px; left: 28px; color: #9fb6c4; font-family: var(--mono); font-size: 10px; letter-spacing: .14em; }

.service-areas { padding: 96px 0; background: #f7f9fa; border-top: 1px solid var(--line); }
.area-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; }
.area-grid > div:first-child > p:not(.eyebrow) { color: var(--body); }
.area-grid .button-secondary { color: var(--navy); border-color: var(--teal); }
.area-list { display: grid; grid-template-columns: repeat(3, 1fr); align-content: start; border-top: 1px solid #cbd6dd; }
.area-list span { padding: 12px 10px 12px 0; border-bottom: 1px solid #cbd6dd; font-family: var(--mono); font-size: 11px; color: #4e6678; }

.faq-preview { padding: 96px 0; }
.faq-list, .faq-page { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { cursor: pointer; list-style: none; padding: 22px 42px 22px 0; color: var(--navy); font-family: var(--serif); font-size: 21px; position: relative; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; position: absolute; right: 6px; top: 20px; font-family: var(--sans); color: var(--copper); font-size: 24px; font-weight: 300; }
details[open] summary::after { content: "−"; }
details p { max-width: 850px; margin: -4px 0 22px; color: var(--body); line-height: 1.75; }

.final-cta { padding: 72px 0; background: var(--navy); color: #fff; }
.final-cta-inner { display: flex; justify-content: space-between; gap: 50px; align-items: center; }
.final-cta h2 { color: #fff; }
.final-cta p:not(.eyebrow) { color: #a9bdc9; }
.final-cta .eyebrow { color: var(--teal-light); }

/* Interior pages */
.page-hero { padding: 78px 0; background: var(--warm); border-bottom: 1px solid var(--warm-line); }
.page-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: center; }
.page-hero h1 { margin: 0 0 22px; font-size: clamp(42px, 5vw, 68px); }
.page-hero .lede { max-width: 700px; color: var(--body); font-size: 18px; line-height: 1.7; }
.page-hero .button-secondary { color: var(--navy); border-color: var(--teal); }
.technical-plate { position: relative; min-height: 360px; display: grid; place-items: center; border: 1px solid #c9d5dc; background: #fff; overflow: hidden; }
.technical-plate img { width: 160px; position: relative; z-index: 2; }
.technical-plate p { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 13px 16px; background: var(--navy); color: #9fb6c4; font-family: var(--mono); font-size: 9.5px; letter-spacing: .08em; }
.technical-plate p span { color: var(--copper); }
.trace { position: absolute; background: rgba(44,110,124,.25); }
.trace-a { height: 1px; width: 100%; top: 30%; left: 0; }
.trace-b { width: 1px; height: 100%; left: 72%; top: 0; }
.content-section { padding: 96px 0; }
.dark-section { background: var(--navy); color: #fff; }
.dark-section h2 { color: #fff; }
.dark-section .eyebrow { color: var(--teal-light); }
.dark-section .content-grid p { color: #bccbd8; }
.dark-section .button-secondary { border-color: var(--teal-light); }
.inline-trust { margin-top: 28px; color: #586f80; border-color: #cbd6dd; }
.inline-trust span { border-color: #cbd6dd; }
.inline-trust span:last-child { color: var(--navy); }
.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.contact-method { min-height: 220px; padding: 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.contact-method > span { color: var(--teal); font-size: 10px; }
.contact-method > a { display: block; margin-top: 24px; color: var(--navy); font-family: var(--serif); font-size: clamp(22px, 3vw, 34px); text-decoration: none; overflow-wrap: anywhere; }
.contact-method p { color: var(--body); }
.legal-page { padding: 100px 0; }
.legal-copy { max-width: 800px; }
.legal-copy h1 { margin: 0 0 35px; }
.legal-copy p { color: var(--body); font-size: 17px; line-height: 1.75; }

/* Footer */
.site-footer { background: var(--navy-deep); color: #9fb6c4; padding: 68px 0 26px; }
.footer-grid { display: grid; grid-template-columns: 1.6fr .7fr .7fr 1fr; gap: 55px; }
.footer-brand img { width: 230px; filter: brightness(0) invert(1); opacity: .95; }
.footer-brand p { margin: 12px 0 0; color: #d8e2e8; }
.footer-owner { font-weight: 700; }
.shabbos-line { display: flex; align-items: center; gap: 12px; margin-top: 20px; }
.shabbos-line span:first-child { color: #fff; font-size: 17px; }
.shabbos-line span:last-child { font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.footer-column { display: flex; flex-direction: column; gap: 9px; }
.footer-column h2 { margin: 0 0 7px; color: #69849a; font-family: var(--mono); font-size: 9.5px; }
.footer-column a { color: #b9cad5; text-decoration: none; font-size: 13px; }
.footer-column a:hover { color: #fff; }
.footer-bottom { margin-top: 52px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.1); display: grid; grid-template-columns: auto auto 1fr; gap: 30px; color: #6f899c; font-family: var(--mono); font-size: 9.5px; }
.footer-bottom a { color: #91a8b7; text-decoration: none; }
.developer-credit { text-align: right; }

/* Contact controls */
.floating-contact { position: fixed; right: 22px; bottom: 22px; z-index: 90; display: grid; justify-items: end; gap: 8px; }
.floating-trigger { min-height: 58px; display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 9px; border: 0; background: var(--navy); color: #fff; box-shadow: 0 14px 34px rgba(15,42,71,.26); cursor: pointer; }
.floating-trigger img { width: 42px; height: 42px; object-fit: contain; background: #fff; }
.floating-trigger span { font-family: var(--mono); font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.floating-panel { width: min(340px, calc(100vw - 32px)); background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
.floating-panel > strong { display: block; padding: 13px 16px; background: var(--navy); color: #fff; font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.floating-panel a { display: grid; grid-template-columns: 70px 1fr; gap: 12px; padding: 13px 16px; border-bottom: 1px solid var(--line); text-decoration: none; }
.floating-panel a:last-child { border-bottom: 0; }
.floating-panel a:hover { background: #f7f9fa; }
.floating-panel span { color: var(--teal); font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.floating-panel b { color: var(--navy); font-size: 13px; }
.mobile-action-bar { display: none; }

@media (max-width: 1080px) {
  :root { --shell: min(100% - 40px, 960px); }
  .header-inner { grid-template-columns: 200px 1fr auto; }
  .brand-desktop img { width: 185px; }
  .desktop-nav { gap: 14px; }
  .nav-link { font-size: 9.5px; }
  .header-call { min-width: 160px; }
  .hero-grid { grid-template-columns: 1.05fr .95fr; }
  .hero-copy { padding-right: 42px; }
  .split-heading, .problem-grid, .content-grid { gap: 60px; }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-contact { grid-column: 2 / -1; }
}

@media (max-width: 860px) {
  :root { --shell: min(100% - 32px, 760px); }
  body { padding-bottom: 68px; }
  .utility-bar { display: none; }
  .site-header { position: sticky; top: 0; }
  .header-inner { height: 70px; grid-template-columns: auto 1fr auto; gap: 16px; }
  .brand-desktop, .desktop-nav, .header-call { display: none; }
  .brand-mobile { display: inline-flex; }
  .brand-mobile img { width: 50px; height: 50px; object-fit: contain; }
  .menu-toggle { display: flex; grid-column: 3; }
  .hero-grid, .page-hero-grid { grid-template-columns: 1fr; }
  .hero-grid { min-height: 0; width: 100%; }
  .hero-copy { width: var(--shell); margin-inline: auto; padding: 65px 0 52px; }
  .hero h1 { font-size: clamp(43px, 10vw, 68px); }
  .hero-visual { min-height: 410px; border-left: 0; border-top: 1px solid rgba(122,187,199,.25); }
  .split-heading, .problem-grid, .about-grid, .area-grid, .content-grid { grid-template-columns: 1fr; gap: 38px; }
  .split-heading { align-items: start; }
  .portrait-placeholder { min-height: 370px; }
  .area-list { grid-template-columns: repeat(2, 1fr); }
  .page-hero { padding: 60px 0; }
  .technical-plate { min-height: 300px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-contact { grid-column: auto; }
  .footer-bottom { grid-template-columns: 1fr; gap: 10px; }
  .developer-credit { text-align: left; }
  .floating-contact { display: none; }
  .mobile-action-bar { position: fixed; z-index: 100; left: 0; right: 0; bottom: 0; height: 68px; display: grid; grid-template-columns: 1.15fr .85fr; background: #fff; box-shadow: 0 -8px 28px rgba(15,42,71,.12); border-top: 1px solid var(--line); padding-bottom: env(safe-area-inset-bottom); }
  .mobile-action-bar a { display: grid; align-content: center; padding: 8px 14px; text-decoration: none; }
  .mobile-action-bar a:first-child { background: var(--navy); color: #fff; }
  .mobile-action-bar a:last-child { color: var(--navy); border-left: 1px solid var(--line); }
  .mobile-action-bar span { font-family: var(--mono); font-size: 8.5px; text-transform: uppercase; letter-spacing: .08em; color: var(--teal-light); }
  .mobile-action-bar a:last-child span { color: var(--teal); }
  .mobile-action-bar strong { font-size: 13px; }
}

@media (max-width: 600px) {
  :root { --shell: calc(100% - 28px); }
  h2 { font-size: 34px; }
  .hero-copy { padding-top: 52px; }
  .hero-lede, .page-hero .lede { font-size: 16px; }
  .button { min-width: 0; flex: 1 1 145px; }
  .trust-strip { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .trust-strip span { border-bottom: 1px solid rgba(122,187,199,.3); }
  .trust-strip span:nth-child(2) { border-right: 0; }
  .trust-strip span:last-child { grid-column: 1 / -1; border-bottom: 0; text-align: center; }
  .hero-visual { min-height: 335px; }
  .hero-mark { width: 180px; height: 180px; }
  .hero-mark img { width: 150px; height: 150px; }
  .hero-visual::before { width: 290px; height: 290px; }
  .hero-visual::after { width: 220px; height: 220px; }
  .hero-visual-caption { gap: 8px; font-size: 7.5px; }
  .service-index, .problem-section, .about-preview, .service-areas, .faq-preview, .content-section { padding-block: 68px; }
  .service-row { grid-template-columns: 42px 1fr auto; gap: 12px; padding: 22px 0; }
  .service-row p { font-size: 14px; }
  .area-list { grid-template-columns: 1fr 1fr; }
  .area-list span { font-size: 9.5px; }
  .final-cta { padding: 60px 0; }
  .final-cta-inner { display: block; }
  .final-cta .cta-pair { margin-top: 28px; }
  .page-hero-grid { gap: 45px; }
  .contact-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 38px 26px; }
  .footer-contact { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: 0.001ms !important; animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; }
}
.pricing-hero{background:var(--navy,#0f2a47);color:#fff;padding:88px 0 74px}.pricing-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:70px;align-items:end}.pricing-hero h1{margin:10px 0 18px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(42px,6vw,74px);font-weight:400;line-height:.98;letter-spacing:-.035em}.pricing-hero p{max-width:720px;margin:0;color:#c9d6df;font-size:17px;line-height:1.65}.pricing-hero aside{border-top:1px solid rgba(255,255,255,.28);padding-top:20px}.pricing-hero aside strong{font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:400}.pricing-hero aside p{margin:8px 0 16px;font-size:13px;line-height:1.6;color:#b7c8d3}.pricing-hero aside a{color:#9fd1d9;font-size:12px;font-weight:700;text-decoration:none}.pricing-section{padding:72px 0 90px;background:#f7f6f2}.pricing-note{display:grid;grid-template-columns:150px 1fr;gap:28px;padding:0 0 28px;border-bottom:1px solid #cfd9de;margin-bottom:38px}.pricing-note span,.pricing-group-heading span{font-family:"SFMono-Regular",Consolas,monospace;font-size:9px;letter-spacing:.13em;color:#2c6e7c}.pricing-note p{margin:0;color:#566879;max-width:760px;line-height:1.6}.pricing-group{margin-bottom:48px;background:#fff;border:1px solid #dce4e8}.pricing-group-heading{padding:17px 20px;border-bottom:1px solid #dce4e8;display:flex;align-items:center;justify-content:space-between;background:#f8fafb}.pricing-group-heading small{font-family:"SFMono-Regular",Consolas,monospace;font-size:8px;letter-spacing:.1em;color:#8294a2}.pricing-row{display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;padding:22px 24px;border-bottom:1px solid #e3e8eb}.pricing-row:last-child{border-bottom:0}.pricing-row h3{margin:0;color:#0f2a47;font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:400}.pricing-row p{margin:6px 0 0;color:#627383;font-size:13px;line-height:1.55}.pricing-row>strong{font-family:Georgia,"Times New Roman",serif;font-size:20px;font-weight:400;color:#2c6e7c;white-space:nowrap}.public-pricing-empty{padding:34px;border:1px solid #dce4e8;background:#fff}.public-pricing-empty p{margin:0;color:#566879;line-height:1.6}.pricing-cta{padding:70px 0;background:#0a1d31;color:#fff}.pricing-cta-inner{display:flex;align-items:end;justify-content:space-between;gap:48px}.pricing-cta h2{margin:8px 0 12px;font-family:Georgia,"Times New Roman",serif;font-size:38px;font-weight:400}.pricing-cta p{max-width:650px;margin:0;color:#b9cad5;line-height:1.6}
@media(max-width:800px){.pricing-hero{padding:58px 0}.pricing-hero-grid{grid-template-columns:1fr;gap:38px}.pricing-section{padding:48px 0 64px}.pricing-note{grid-template-columns:1fr;gap:8px}.pricing-group-heading small{display:none}.pricing-row{grid-template-columns:1fr;gap:10px;padding:18px}.pricing-row>strong{font-size:18px}.pricing-cta-inner{display:grid;gap:28px}.pricing-cta h2{font-size:32px}}

/* Service-area SEO pages */
.area-hero{padding:72px 0 54px;background:linear-gradient(180deg,#f8faf9 0%,#eef3f3 100%);border-bottom:1px solid var(--line)}
.area-hero h1{max-width:900px;margin:8px 0 16px;font:400 clamp(38px,6vw,72px)/.98 Georgia,"Times New Roman",serif;color:var(--navy)}
.area-hero>div>p:not(.eyebrow){max-width:760px;font-size:17px;line-height:1.7;color:var(--muted)}
.area-content{padding:66px 0 82px}.split-copy{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:70px;align-items:start}.split-copy h2{margin:8px 0 18px;font:400 clamp(30px,4vw,48px)/1.05 Georgia,"Times New Roman",serif;color:var(--navy)}.split-copy>div>p:last-child{font-size:16px;line-height:1.8;color:var(--ink)}
.area-contact{padding:24px;border-top:3px solid var(--teal);background:#f5f8f8}.area-contact strong{display:block;font:400 23px/1.15 Georgia,"Times New Roman",serif;color:var(--navy)}.area-contact p{font-size:13px;line-height:1.65;color:var(--muted)}.area-contact a{font-size:13px;font-weight:800;color:var(--teal);text-decoration:none}
.area-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.area-link{display:grid;gap:8px;min-height:145px;padding:25px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-decoration:none;background:#fff;transition:background .18s ease,transform .18s ease}.area-link:hover,.area-link:focus-visible{background:#f5f8f8}.area-link strong{font:400 24px/1.1 Georgia,"Times New Roman",serif;color:var(--navy)}.area-link span{font-size:11px;line-height:1.5;color:var(--teal);font-weight:700}

/* Contact / callback form */
.callback-section{padding:70px 0 90px;background:#f2f6f6;border-top:1px solid var(--line)}.callback-grid{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:70px;align-items:start}.callback-grid h2{margin:8px 0 15px;font:400 clamp(32px,4vw,50px)/1.04 Georgia,"Times New Roman",serif;color:var(--navy)}.callback-grid>div>p:last-child{font-size:15px;line-height:1.7;color:var(--muted)}.callback-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;padding:30px;background:#fff;border-top:4px solid var(--navy);box-shadow:0 18px 50px rgba(13,33,56,.08)}.callback-form label,.callback-form fieldset{display:grid;gap:7px;margin:0;border:0;padding:0}.callback-form label>span,.callback-form legend{font-size:10px;letter-spacing:.08em;font-weight:800;color:var(--teal);text-transform:uppercase}.callback-form input,.callback-form textarea{width:100%;border:1px solid #cfdadd;background:#fff;padding:12px 13px;font:14px/1.4 Arial,sans-serif;color:var(--ink);border-radius:0}.callback-form textarea{resize:vertical}.callback-form input:focus,.callback-form textarea:focus{outline:3px solid rgba(55,107,113,.18);border-color:var(--teal)}.callback-form em{font-style:normal;color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0}.callback-form .form-wide{grid-column:1/-1}.callback-form fieldset{grid-template-columns:repeat(3,auto);justify-content:start;gap:12px 22px}.callback-form fieldset legend{grid-column:1/-1;margin-bottom:4px}.callback-form fieldset label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink)}.callback-form fieldset input{width:auto}.cf-turnstile{min-height:65px}.form-security-note{padding:13px 15px;background:#fff4df;border-left:3px solid var(--copper);font-size:12px;line-height:1.55;color:#5e4b2f}.callback-form button{border:0;cursor:pointer}

@media(max-width:900px){.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-copy,.callback-grid{grid-template-columns:1fr;gap:34px}}
@media(max-width:620px){.area-hero{padding:48px 0 40px}.area-content,.callback-section{padding:46px 0 68px}.area-grid{grid-template-columns:1fr}.callback-form{grid-template-columns:1fr;padding:22px}.callback-form .form-wide{grid-column:1}.callback-form fieldset{grid-template-columns:1fr;gap:10px}}

.contact-success{background:#e9f4f2;border-top:1px solid rgba(44,110,124,.18);border-bottom:1px solid rgba(44,110,124,.18);color:#0f2a47}.contact-success .shell{display:flex;gap:14px;align-items:baseline;padding-top:14px;padding-bottom:14px}.contact-success strong{font-family:Georgia,"Times New Roman",serif;font-size:17px;font-weight:400}.contact-success span{color:#536b78;font-size:12px}@media(max-width:620px){.contact-success .shell{display:grid;gap:4px}}
