/* Evolve the existing identity. Plain HTML, local assets, no animation dependency.
   DESIGN_VARIANCE=6; MOTION_INTENSITY=2; VISUAL_DENSITY=4.
   The existing dark calculator is a task surface, not an unrelated theme. */
:root {
  --paper:#f5f5f4; --surface:#fff; --surface-muted:#ededec;
  --ink:#191919; --ink-soft:#555; --border:#797979;
  --border-subtle:#d4d4d2; --accent:#252525; --accent-on-dark:#e2e2e0;
  --dark:#191919; --dark-surface:#242424; --dark-muted:#c4c4c2;
  --max:1280px; --radius:8px; --gap:24px;
  --space-section:104px;
}
body { background:var(--paper); font-family:Arial,Helvetica,sans-serif; }
html { scroll-padding-top:24px; }
.page-viewport { scroll-padding-top:24px!important; }
section { scroll-margin-top:0; }
.wrap,.nav { width:min(calc(100% - 96px),var(--max)); }
main > section { padding:var(--space-section) 0; border:0; }
h1,h2,h3 { letter-spacing:-.045em; font-weight:600; }
h2 { font-size:clamp(32px,4vw,56px); line-height:1.05; max-width:20ch; margin-bottom:40px; }
h3 { font-size:24px; letter-spacing:-.025em; }
p { text-wrap:pretty; }
.label,.kicker { font-size:12px; font-weight:600; letter-spacing:.08em; }
.site-header { position:relative; background:var(--paper); border-bottom:1px solid var(--border-subtle); }
.nav { min-height:90px; gap:24px; padding:16px 0; }
.brand { font-size:17px; line-height:1.1; letter-spacing:-.035em; max-width:230px; }
.brand span { margin-top:7px; font-size:10px; letter-spacing:.12em; color:var(--ink-soft); }
.menu { gap:20px; }
.menu a { font-size:13px; font-weight:500; min-height:44px; display:flex; align-items:center; }
.mobile-nav { padding:0; border:0; }
body .mobile-nav > summary { background:transparent; box-shadow:none; border:1px solid var(--border); border-radius:6px; }
body :is(.button,.contact-button,.journey-entry a,.calculation-links a,.calculation-links button,.lead-fallback > a,.calc-quick-summary a,.mobile-calc-bar a,.back-link) {
  min-height:50px; border:1px solid var(--ink); border-radius:7px;
  padding:14px 22px; box-shadow:none; font-size:14px; font-weight:600;
  transition:background-color 160ms ease,color 160ms ease,transform 160ms ease;
}
body :is(.button,.contact-button,.journey-entry a,.calculation-links a,.calculation-links button,.lead-fallback > a,.calc-quick-summary a,.mobile-calc-bar a):active:not(:disabled) { transform:translateY(1px); box-shadow:none; }
body :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #62675d; outline-offset:4px; }
.hero-compact { background:var(--paper); color:var(--ink); padding:44px 0 0; }
.hero-compact .hero-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
.hero-copy-block { display:grid; grid-template-columns:1fr 1fr; gap:24px 40px; align-items:center; }
.hero-copy-block .kicker { grid-column:1/-1; color:var(--ink-soft); margin:0; }
.hero-copy-block h1 { grid-column:1/-1; max-width:none; margin:0; font-size:clamp(52px,6.7vw,96px); line-height:1; letter-spacing:-.055em; }
.hero-copy-block .heading-line { white-space:normal; }
.hero-copy-block .heading-line:last-child { color:#727270; }
.hero-compact .lead { color:var(--ink-soft); max-width:42ch; font-size:18px; line-height:1.5; margin:0; }
.hero-compact .actions { margin:0; gap:12px; justify-content:flex-end; }
body .hero .button:not(.secondary) { background:var(--ink); color:#fff; border-color:var(--ink); }
body .hero .button.secondary { background:transparent; color:var(--ink); border:1px solid var(--ink); padding:14px 22px; }
body .hero .button:hover { background:#dfe2d9; color:var(--ink); border-color:var(--ink); }
.hero-photo { position:relative; }
.hero-compact .hero-photo img { width:100%; height:400px; aspect-ratio:auto; object-fit:cover; object-position:50% 75%; border-radius:8px; filter:none; }
.hero-photo figcaption { display:flex; justify-content:space-between; gap:24px; color:var(--ink-soft); font-size:12px; margin:8px 0 0; align-items:center; }
.hero-photo figcaption a { display:inline-flex; min-height:44px; gap:24px; align-items:center; color:var(--ink); font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.hero-compact .facts { grid-template-columns:.65fr 1.3fr 1fr; margin:0; gap:0; border-top:1px solid var(--border-subtle); border-bottom:1px solid var(--border-subtle); }
.hero-compact .fact { border:0; border-radius:0; background:none; padding:28px 32px; color:var(--ink); }
.hero-compact .fact:first-child { padding-left:0; }
.hero-compact .fact + .fact { border-left:1px solid var(--border-subtle); }
.hero-compact .fact strong { color:var(--ink); font-size:22px; line-height:1.15; font-weight:600; }
.hero-compact .fact:first-child strong { font-size:44px; letter-spacing:-.05em; }
.hero-compact .fact span { color:var(--ink-soft); font-size:14px; }
.event-collage-section { background:var(--paper); color:var(--ink); padding:64px 0 0; }
.event-collage-head { margin-bottom:24px; border:0; }
.event-collage-head h2 { font-size:16px; letter-spacing:0; text-transform:none; margin:0; color:var(--ink); }
.event-collage-head p { color:var(--ink-soft); font-size:14px; text-transform:none; font-weight:400; }
.event-collage { grid-template-columns:1.6fr 1fr 1fr; grid-template-rows:auto; min-height:0; gap:20px; grid-auto-rows:auto; }
.event-collage figure,.event-collage figure:first-child { grid-row:auto; grid-column:auto; border:0; background:none; }
.event-collage .event-collage-photo,.event-collage figure:first-child .event-collage-photo { position:static; display:block; aspect-ratio:4/3; height:220px; min-height:0; object-fit:cover; border-radius:6px; }
.event-collage figcaption { position:static; padding:14px 0 0; color:var(--ink); background:none; border:0; }
.event-collage figcaption strong { color:var(--ink); text-transform:none; font-weight:600; }
.event-collage figcaption span { color:var(--ink-soft); }
.section-head { grid-template-columns:1.4fr 1fr; gap:80px; align-items:end; margin-bottom:48px; }
.section-note { border:0; padding:0; margin:0; color:var(--ink-soft); font-size:18px; line-height:1.5; }
#services .section-head h2 { max-width:15ch; }
.service-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 56px; }
.service-cards .card { display:block; background:none; padding:30px 0; border:0; border-radius:0; border-top:1px solid var(--border-subtle); }
.service-cards .service-tag { display:none; }
.service-cards .card h3 { display:block; min-height:0; font-size:26px; margin:0 0 14px; }
.service-cards .card p { color:var(--ink-soft); max-width:49ch; font-size:16px; margin:0; }
.section-surface { background:#fff; }
.compare { gap:48px; border:0; margin-top:0; }
.compare-col,.compare-col.good { padding:32px; border:1px solid var(--border-subtle); border-radius:8px; background:var(--paper); }
.compare-col.good { background:var(--dark); color:#fff; border-color:var(--dark); }
.compare-col.good li { color:#e0e3db; }
.compare-col h3 { font-size:26px; margin-bottom:24px; }
.compare-col li { line-height:1.6; padding:12px 0; }
.prices { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.price { padding:24px 0 0; border:0; border-radius:0; border-top:2px solid var(--ink); background:none; }
.price strong { font-size:32px; letter-spacing:-.045em; color:var(--ink); font-weight:600; }
.price h3 { margin:24px 0 12px; min-height:0; font-size:20px; }
.price p { font-size:15px; color:var(--ink-soft); }
.calculator { background:var(--dark); color:var(--dark-text); }
.calculator .label { color:var(--dark-muted); }
.calculator-intro { grid-template-columns:1.4fr 1fr; gap:64px; margin-bottom:48px; }
.calculator-intro .lead { font-size:17px; color:var(--dark-muted); }
.calc-shell { gap:24px; border:0; background:none; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); }
.calc-builder { background:#242424; padding:32px; border:1px solid #666; border-radius:8px; }
.calc-result { padding:32px; background:var(--paper); color:var(--ink); border:0; border-radius:8px; }
.calc-result::before { display:none; }
.calc-result .label { color:var(--ink-soft); }
.calc-result .estimate { font-size:clamp(30px,3vw,42px); font-weight:600; letter-spacing:-.04em; }
.calc-result p,.calc-result .calc-notes { color:var(--ink-soft); }
.service-card { border-radius:6px; border:1px solid #777; background:#303030; padding:20px; }
.service-card.is-off { background:#242424; opacity:1; }
.service-toggle strong { font-size:22px; font-weight:600; }
.service-toggle small,.package-meta,.package-detail p,.addon-option small { color:#d2d2d0; }
.calc-step-head { margin:32px 0 20px; }
.calc-step-head:first-child { margin-top:0; }
.calc-step-head strong { font-size:21px; font-weight:500; }
.service-card-head { grid-template-columns:1fr 1.2fr; gap:16px; }
.calculator select { font-size:15px; background:var(--paper); color:var(--ink); border-color:#999; }
.addon-option { padding:16px; border-radius:6px; background:#303030; }
.calc-result .button { background:var(--ink); color:#fff; }
.calc-result .button.secondary { background:transparent; }
.event-case-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px 28px; }
body .event-case-link { display:block; min-height:0; padding:0; border:0; border-radius:0; background:transparent; color:var(--ink); box-shadow:none; text-decoration:none; }
.event-case-link img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:8px; }
.event-case-link h3 { position:relative; text-align:left; margin:0; padding:20px 44px 14px 0; border-bottom:1px solid var(--border-subtle); font-size:28px; }
.event-case-link h3::after { content:'↗'; position:absolute; right:8px; font-weight:400; }
body .event-case-link:hover { background:transparent; color:var(--ink); }
.event-case-link:hover h3 { border-bottom-color:var(--ink); text-decoration:underline; text-underline-offset:6px; }
.event-case-link:active { box-shadow:none; }
.section-muted { background:var(--paper); }
.process { gap:32px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.step { border:0; border-top:1px solid var(--border-subtle); padding:24px 0; min-height:0; }
.step::before { font-size:36px; line-height:1; color:#74796c; font-weight:400; margin-bottom:24px; }
.process .step strong { font-size:22px; font-weight:600; }
.process .step span { font-size:16px; max-width:30ch; margin-top:12px; }
#faq > .wrap { display:grid; grid-template-columns:1fr 1.6fr; column-gap:72px; }
#faq .label { grid-column:1; }
#faq h2 { grid-column:1; margin:0; }
#faq .faq { grid-column:2; grid-row:1/4; border-color:var(--border-subtle); }
.faq details { padding:22px 0; border-color:var(--border-subtle); }
body .faq summary { background:none; border:0; border-radius:0; padding:8px 0; min-height:44px; font-weight:600; font-size:20px; }
body .faq summary:hover { background:none; text-decoration:underline; text-underline-offset:5px; }
.faq p { font-size:16px; color:var(--ink-soft); margin-top:12px; }
.lead-section { background:var(--dark); }
.lead-form { gap:80px; grid-template-columns:1fr 1.1fr; }
.lead-section h2 { font-size:clamp(34px,4vw,56px); }
.lead-section .form-panel { padding:32px; border-radius:8px; }
.lead-section .text { font-size:18px; max-width:40ch; }
body .journey-entry { margin:0 0 24px; }
body .journey-entry a { color:#fff; background:transparent; border:1px solid #a6ad9e; font-size:14px; }
.preview-note { padding:16px; border:1px solid #a6ad9e; border-radius:6px; color:#e0e3db; font-size:14px; line-height:1.5; }
.site-footer { padding:56px 0 32px; background:var(--dark); border-top:1px solid #555c4e; }
.site-footer h2 { font-size:32px; max-width:22ch; }
.site-footer .wrap { gap:48px; }
body .request-mode-options label { box-shadow:none; border-width:1px; }
body a.contact-button { border:1px solid #999; background:transparent; }
body .form-panel .button { background:var(--ink); color:#fff; }
body .form-panel .button.secondary { background:#fff; color:var(--ink); }
@media(max-width:1150px) {
  .menu { display:none; } .mobile-nav { display:block; margin-left:auto; }
  .calc-shell { grid-template-columns:1fr; }
  .calc-result { position:static; }
  .hero-copy-block h1 { font-size:clamp(52px,7vw,82px); }
  .hero-compact .actions { flex-wrap:wrap; }
  .hero-compact .hero-photo { max-width:none; }
  .prices { grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
  .lead-form { gap:40px; }
}
@media(max-width:800px) {
  :root { --space-section:72px; }
  .wrap,.nav { width:calc(100% - 48px); }
  .hero-copy-block { grid-template-columns:1fr; gap:20px; }
  .hero-compact .actions { justify-content:flex-start; }
  .hero-compact .hero-photo img { height:320px; }
  .hero-compact .facts { grid-template-columns:1fr; }
  .hero-compact .fact,.hero-compact .fact:first-child { padding:20px 0; display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:24px; }
  .hero-compact .fact + .fact { border-left:0; border-top:1px solid var(--border-subtle); }
  .hero-compact .fact:first-child strong { font-size:32px; }
  .event-collage { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
  .event-collage .event-collage-photo,.event-collage figure:first-child .event-collage-photo { height:180px; }
  .event-collage figcaption span { display:none; }
  .section-head,.calculator-intro { grid-template-columns:1fr; gap:24px; }
  .section-note { max-width:50ch; }
  .service-cards { gap:0 32px; }
  .compare { gap:20px; }
  .compare-col,.compare-col.good { padding:24px; }
  .process { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #faq > .wrap { display:block; } #faq h2 { margin-bottom:32px; }
  .lead-form { grid-template-columns:1fr; }
}
@media(max-width:640px) {
  :root { --space-section:56px; }
  .wrap,.nav { width:calc(100% - 40px); }
  .nav { min-height:76px; padding:12px 0; gap:12px; }
  .nav > .button { display:none; }
  .brand { max-width:180px; font-size:14px; }
  .brand span { font-size:9px; }
  body .mobile-nav > summary { background:transparent; box-shadow:none; border:1px solid var(--border); padding:10px 12px; font-size:13px; border-radius:6px; }
  .hero-compact { padding:28px 0 0; }
  .hero-copy-block h1 { font-size:clamp(32px,8.6vw,54px); line-height:1.06; }
  .hero-copy-block { gap:20px; }
  .hero-compact .kicker { margin:0; font-size:10px; letter-spacing:.04em; }
  .hero-compact .lead { margin:0; font-size:16px; }
  .hero-compact .actions { margin:0; display:grid; grid-template-columns:1fr; width:100%; gap:10px; }
  body .hero-compact .actions .button { width:100%; min-height:48px; padding:12px; }
  .hero-compact .hero-grid { gap:24px; }
  .hero-compact .hero-photo img { height:220px; object-position:52% 76%; }
  .hero-photo figcaption { align-items:start; gap:12px; font-size:11px; line-height:1.4; }
  .hero-photo figcaption > span { max-width:19ch; padding-top:8px; }
  .hero-photo figcaption a { font-size:12px; gap:8px; }
  .hero-compact .fact strong { font-size:17px; }
  .hero-compact .fact span { font-size:13px; }
  .event-collage-section { padding:40px 0 0; }
  .event-collage-head { display:block; } .event-collage-head p { margin:8px 0 0; }
  .event-collage { grid-template-columns:1fr 1fr; }
  .event-collage figure:first-child { grid-column:1/-1; }
  .event-collage .event-collage-photo { height:160px; }
  .event-collage figure:first-child .event-collage-photo { height:240px; }
  .event-collage figcaption { font-size:12px; padding-top:10px; }
  h2 { font-size:34px; margin-bottom:28px; }
  .section-head { margin-bottom:28px; } .section-note { font-size:16px; }
  .service-cards { grid-template-columns:1fr; }
  .service-cards .card { padding:24px 0; }
  .service-cards .card h3 { font-size:23px; }
  .service-cards .card p { font-size:15px; }
  .compare { grid-template-columns:1fr; }
  .prices { grid-template-columns:1fr; gap:32px; }
  .price strong { font-size:32px; } .price h3 { margin-top:16px; }
  .calculator-intro { margin-bottom:28px; gap:20px; }
  .calculator-intro .lead { font-size:16px; }
  .calc-builder,.calc-result { padding:24px 16px; }
  .calc-step-head strong { font-size:20px; }
  .service-card { padding:16px 12px; }
  .service-card-head { grid-template-columns:1fr; gap:16px; }
  .addon-grid { grid-template-columns:1fr; }
  .calc-result .estimate { font-size:32px; }
  .calc-quick-summary { position:static; border-radius:6px; padding:16px; }
  .calculator :is(input,select,button,a) { scroll-margin-top:24px; }
  .event-case-grid { grid-template-columns:1fr; gap:32px; }
  .event-case-link h3 { font-size:24px; padding-top:16px; }
  .process { grid-template-columns:1fr; gap:8px; }
  .step { display:grid; grid-template-columns:44px 1fr; gap:8px 20px; }
  .step::before { grid-row:1/3; font-size:26px; margin:0; }
  .process .step strong { font-size:20px; }
  .process .step span { grid-column:2; font-size:15px; margin:0; }
  .lead-section .form-panel { padding:24px 16px; }
  .lead-form { gap:32px; }
  .lead-section h2 { font-size:36px; }
  body .journey-entry { grid-template-columns:1fr; }
  .site-footer h2 { font-size:28px; }
  .mobile-calc-bar { background:var(--paper); border-top:1px solid var(--border-subtle); padding:8px 20px max(8px,env(safe-area-inset-bottom)); }
  body .mobile-calc-bar a { min-height:44px; padding:10px 18px; font-size:14px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } body :is(a,button) { transition:none; } }
@media(max-width:359px) { .hero-copy-block h1 { font-size:29px; letter-spacing:-.055em; } }

/* Refinement: one route choice, readable package guidance, reserved mobile total. */
.hero-compact .actions { display:grid; grid-template-columns:1fr 1fr; }
.hero-compact .actions .brief-route { grid-column:1/-1; justify-self:end; min-height:44px; padding:10px 16px; font-size:13px; gap:16px; }
.lead-form { grid-template-areas:"intro form" "aftercare form"; grid-template-rows:auto 1fr; gap:28px 80px; align-items:start; }
.lead-intro { grid-area:intro; }
.lead-form > .form-panel { grid-area:form; }
.lead-aftercare { grid-area:aftercare; }
.lead-aftercare h3 { color:inherit; margin:0 0 16px; }
.lead-aftercare .lead-next-steps { margin-top:0; }
.package-detail .package-usage { font-size:15px; line-height:1.5; color:#eee; margin:16px 0 12px; }
.specialist-guide { max-width:62ch; color:var(--dark-muted); font-size:14px; line-height:1.5; margin:4px 0 20px; }
.service-card { transition:border-color 160ms ease,background-color 160ms ease; }
.service-card:not(.is-off) { border-left:3px solid #d4d4d2; }
.service-card.is-off { border-left:3px solid #555; }
.calculator .package-meta { font-size:13px; line-height:1.5; }
.calc-step-head > span { font-size:12px; }
.mobile-live-summary { display:none; }
.mobile-calc-bar [hidden] { display:none!important; }
@media(max-width:1150px) { .lead-form { column-gap:40px; } }
@media(max-width:800px) {
  .lead-form { grid-template-areas:"intro" "form" "aftercare"; grid-template-rows:auto; gap:28px; }
}
@media(max-width:640px) {
  .hero-compact .actions { grid-template-columns:1fr 1fr; gap:10px; }
  .hero-compact .actions > .button:first-child { grid-column:1/-1; }
  body .hero-compact .actions .button.secondary { font-size:13px; line-height:1.35; padding:10px 8px; min-height:48px; }
  .hero-compact .actions .brief-route { grid-column:auto; justify-self:stretch; gap:6px; }
  .hero-compact .kicker { font-size:12px; }
  .brand span { font-size:10px; }
  .hero-photo figcaption { font-size:12px; }
  .mobile-live-summary:not([hidden]) { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; align-items:center; }
  .mobile-live-summary > span { color:#555; font-size:11px; line-height:1.3; }
  .mobile-live-summary strong { grid-column:1; color:#191919; font-size:16px; line-height:1.3; font-variant-numeric:tabular-nums; }
  .mobile-live-summary .price-bound { display:block; white-space:nowrap; }
  body .mobile-live-summary a { grid-column:2; grid-row:1/3; min-width:88px; width:auto; }
  .mobile-calc-bar.is-calculating { padding-top:8px; padding-bottom:max(8px,env(safe-area-inset-bottom)); }
  .mobile-viewport-enabled .calc-quick-summary { display:none; }
  .lead-aftercare { border-top:1px solid #555; padding-top:28px; }
}
@media(prefers-reduced-motion:reduce) { .service-card { transition:none; } }
