
:root {
  --paper: #eee6d3; --paper-deep: #e1d5b9; --card: #f7f1e3; --ink: #282218;
  --muted: #625947; --faint: #81765f; --line: rgba(40,34,24,.17);
  --line-strong: rgba(40,34,24,.34); --clay: #a94c2d; --clay-dark: #813820;
  --teal: #2d5b56; --teal-dark: #183e3a;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background-color: var(--paper); background-image: radial-gradient(ellipse at 8% 20%, transparent 0 56px, rgba(45,91,86,.055) 57px 59px, transparent 60px 92px), radial-gradient(ellipse at 86% 62%, transparent 0 76px, rgba(40,34,24,.045) 77px 79px, transparent 80px 122px), radial-gradient(ellipse at 36% 88%, transparent 0 44px, rgba(169,76,45,.04) 45px 47px, transparent 48px 82px); background-size: 520px 390px, 680px 520px, 470px 360px; color: var(--ink); font: 17px/1.55 Arial, Helvetica, sans-serif; }
a { color: inherit; }
img { display: block; max-width: 100%; height: auto; }
.heroPhoto img, .servicePhoto img, .photoCases img, .teamPhotos img { height: auto; }
p, figure { margin: 0; }
h1, h2, h3 { margin: 0; font-family: Georgia, "Times New Roman", serif; line-height: 1.08; text-wrap: balance; }
.wrap { width: min(1120px, calc(100% - 42px)); margin: 0 auto; }
.eyebrow { color: var(--faint); font: 700 .7rem/1.3 "Courier New", monospace; letter-spacing: .14em; text-transform: uppercase; }
.clayText { color: var(--clay); } .tealText { color: var(--teal); }

.siteHeader { position: sticky; top: 0; z-index: 50; border-bottom: 1px solid var(--line); background: rgba(238,230,211,.94); backdrop-filter: blur(10px); }
.headerInner { min-height: 76px; display: flex; align-items: center; gap: 28px; }
.brand { display: flex; align-items: center; gap: 11px; margin-right: auto; text-decoration: none; }
.brandMark { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--teal-dark); font: 700 .82rem Georgia, serif; }
.brand strong, .brand small { display: block; }
.brand strong { font: 700 1.12rem/1 Georgia, serif; }
.brand small { margin-top: 5px; color: var(--faint); font: 700 .6rem "Courier New", monospace; letter-spacing: .13em; text-transform: uppercase; }
.desktopNav { display: flex; gap: 19px; }
.desktopNav a { color: var(--muted); font-size: .87rem; text-decoration: none; }
.callButton { border-radius: 3px; background: var(--clay); color: #fff8ec; padding: 10px 15px; font-size: .86rem; font-weight: 700; text-decoration: none; }

.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.topo { position: absolute; inset: -35%; opacity: .27; background: repeating-radial-gradient(ellipse at 72% 45%, transparent 0 36px, rgba(40,34,24,.2) 37px 38px, transparent 39px 66px); transform: rotate(-6deg); }
.heroGrid { position: relative; display: grid; grid-template-columns: 1.25fr .55fr; gap: 58px; align-items: center; padding: 68px 0; }
.heroCopyBlock h1 { max-width: 820px; margin-top: 15px; font-size: clamp(2.5rem, 4.8vw, 4.35rem); font-weight: 600; letter-spacing: -.035em; }
.heroCopy { max-width: 670px; margin-top: 20px; color: var(--muted); font-size: 1.05rem; }
.heroActions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 740px; margin-top: 30px; }
.choice { border: 1px solid var(--line-strong); border-radius: 5px; background: rgba(247,241,227,.9); padding: 17px 18px; text-decoration: none; transition: transform .15s ease; }
.choice:hover { transform: translateY(-2px); }
.choice span { display: block; font: 700 .65rem "Courier New", monospace; letter-spacing: .09em; text-transform: uppercase; }
.choice strong { display: block; margin-top: 6px; font: 700 1rem Georgia, serif; }
.choiceClay span { color: var(--clay); } .choiceTeal span { color: var(--teal); }
.urgentChoice { border-color: var(--clay-dark); background: var(--clay); color: #fff8ec; box-shadow: 0 7px 0 rgba(129,56,32,.16); }
.urgentChoice span { color: #ffe0c7; }
.urgentChoice strong { font-size: 1.08rem; }
.heroReach { margin-top: 20px; color: var(--faint); font-size: .8rem; }
.heroPhoto { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 7px; background: var(--card); box-shadow: 14px 14px 0 rgba(45,91,86,.12); }
.heroPhoto img { width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; }
.heroPhoto figcaption { padding: 13px 15px; }
.heroPhoto figcaption b, .heroPhoto figcaption span { display: block; }
.heroPhoto figcaption b { font: 700 .88rem Georgia, serif; }
.heroPhoto figcaption span { margin-top: 2px; color: var(--faint); font-size: .72rem; }

.trustBar { border-bottom: 1px solid var(--line); background: var(--card); }
.trustGrid { display: grid; grid-template-columns: repeat(3, 1fr); }
.trustGrid span { padding: 17px 24px; border-left: 1px solid var(--line); text-align: center; }
.trustGrid span:last-child { border-right: 1px solid var(--line); }
.trustGrid b { font: 700 .9rem Georgia, serif; }

.visualService { padding: 76px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 76px; }
.historicalService { background: var(--paper-deep); }
.visualGrid { display: grid; grid-template-columns: 1fr .58fr; gap: 64px; align-items: center; }
.photoFirst { grid-template-columns: .78fr 1fr; }
.serviceCopy h2 { max-width: 16ch; margin-top: 9px; font-size: clamp(2rem, 3.6vw, 3rem); }
.serviceCopy > p:not(.eyebrow) { max-width: 54ch; margin-top: 15px; color: var(--muted); }
.inlineServices { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 24px 0 0; padding: 0; }
.inlineServices li { border: 1px solid var(--line); border-radius: 2px; background: var(--card); padding: 7px 10px; font-size: .77rem; font-weight: 700; }
.compactPanel { display: grid; grid-template-columns: 78px 1fr; gap: 14px; max-width: 650px; margin-top: 22px; border-left: 3px solid var(--clay); background: rgba(169,76,45,.07); padding: 14px 16px; }
.compactPanel b { font: 700 .78rem "Courier New", monospace; text-transform: uppercase; }
.compactPanel span { color: var(--muted); font-size: .82rem; }
.tealCompact { border-color: var(--teal); background: rgba(45,91,86,.07); }
.serviceCopy .historicalCost { max-width: 650px; margin-top: 14px; border: 1px dashed rgba(45,91,86,.42); border-radius: 3px; background: rgba(247,241,227,.55); padding: 11px 14px; color: var(--teal-dark); font-size: .82rem; }
.historicalCost b { font-family: Georgia, serif; }
.textCta { display: inline-block; margin-top: 23px; font-size: .88rem; font-weight: 700; text-decoration: none; }
.clayCta { color: var(--clay-dark); } .tealCta { color: var(--teal-dark); }
.serviceLinks { display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: baseline; }
.servicePhoto { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--card); }
.servicePhoto img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.widePhoto img { aspect-ratio: 4/3; }
.waterRecoveryPhoto { align-self: center; }
.servicePhoto figcaption { padding: 10px 13px; color: var(--faint); font: 700 .68rem "Courier New", monospace; letter-spacing: .05em; text-transform: uppercase; }

.documentationSection { padding: 76px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 76px; background: rgba(238,230,211,.72); }
.documentationCopy h2 { max-width: 18ch; margin-top: 9px; font-size: clamp(2rem, 3.6vw, 3rem); }
.documentationCopy > p:not(.eyebrow) { max-width: 62ch; margin-top: 15px; color: var(--muted); }
.documentationCards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 25px; border: 1px solid var(--line); background: var(--line); }
.documentationCards article { background: rgba(247,241,227,.94); padding: 17px; }
.documentationCards b, .documentationCards span { display: block; }
.documentationCards b { color: var(--teal-dark); font: 700 .86rem Georgia, serif; }
.documentationCards span { margin-top: 7px; color: var(--muted); font-size: .75rem; }
.findingsHead { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-top: 34px; }
.findingsHead > p:last-child { max-width: 440px; color: var(--faint); font-size: .72rem; text-align: right; }
.findingsGallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 14px; }
.findingsGallery figure { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 5px; background: var(--card); }
.findingsGallery img { width: 100%; height: 330px; object-fit: cover; }
.findingsGallery figcaption { padding: 13px 14px 14px; }
.findingsGallery figcaption b, .findingsGallery figcaption span { display: block; }
.findingsGallery figcaption b { font: 700 .95rem Georgia, serif; }
.findingsGallery figcaption span { margin-top: 4px; color: var(--faint); font-size: .72rem; }

.processSection { padding: 70px 0; border-bottom: 1px solid var(--line); background: var(--card); }
.processHead h2 { margin-top: 7px; font-size: clamp(1.9rem, 3.3vw, 2.75rem); }
.threeSteps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 30px; border: 1px solid var(--line); background: var(--line); }
.threeSteps article { background: var(--paper); padding: 24px; }
.threeSteps article > span { color: var(--faint); font: 700 .7rem "Courier New", monospace; }
.threeSteps h3 { margin-top: 8px; font-size: 1.2rem; }
.threeSteps p { margin-top: 7px; color: var(--muted); font-size: .83rem; }

.casesSection { padding: 76px 0; border-bottom: 1px solid var(--line); }
.casesHead h2 { margin-top: 7px; font-size: clamp(2rem, 3.6vw, 3rem); }
.casesHead > p:last-child:not(.eyebrow) { max-width: 720px; margin-top: 13px; color: var(--muted); }
.photoCases { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 32px; }
.photoCases article { display: grid; grid-template-columns: 180px 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--card); }
.photoCases img { width: 100%; height: 100%; min-height: 245px; object-fit: cover; }
.photoCases article > div { padding: 24px; align-self: center; }
.caseMeta { color: var(--faint); font: 700 .65rem "Courier New", monospace; letter-spacing: .07em; text-transform: uppercase; }
.photoCases h3 { margin-top: 9px; font-size: 1.35rem; }
.photoCases article > div > p:last-child { margin-top: 11px; color: var(--muted); font-size: .85rem; }

.aboutSection { padding: 76px 0; border-bottom: 1px solid var(--line); background: var(--card); scroll-margin-top: 76px; }
.aboutVisual { display: grid; grid-template-columns: .9fr 1fr; gap: 70px; align-items: center; }
.teamPhotos { position: relative; min-height: 460px; }
.teamPhotos img { position: absolute; border: 6px solid var(--card); border-radius: 6px; object-fit: cover; box-shadow: 0 8px 24px rgba(40,34,24,.15); }
.derikPhoto { inset: 0 auto 0 0; width: 64%; height: 100%; }
.crystalPhoto { right: 0; bottom: 8%; width: 55%; height: 54%; }
.aboutCopy h2 { margin-top: 8px; font-size: clamp(2rem, 3.6vw, 3rem); }
.aboutCopy > p:not(.eyebrow):not(.teamMotto) { max-width: 58ch; margin-top: 16px; color: var(--muted); }
.aboutCopy .teamMotto { display: inline-block; margin-top: 24px; border-bottom: 2px solid #d0ad61; color: var(--clay-dark); font: 700 1rem Georgia, serif; }

.ethicsSection { padding: 34px 0; background: var(--teal-dark); color: #edf3eb; }
.ethicsInner { display: grid; grid-template-columns: 150px 1fr; gap: 26px; }
.ethicsInner .eyebrow { color: #d0ad61; }
.ethicsInner > p:last-child { font: 600 1.05rem Georgia, serif; }

.contactSection { padding: 76px 0; scroll-margin-top: 76px; }
.contactHead h2 { margin-top: 7px; font-size: clamp(2rem, 3.6vw, 3rem); }
.contactGrid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 50px; margin-top: 34px; align-items: start; }
.phoneLarge { color: var(--clay); font: 700 clamp(1.9rem, 4vw, 2.7rem) Georgia, serif; text-decoration: none; }
.directContact > p { margin-top: 9px; color: var(--muted); }
.directContact > div { display: flex; gap: 9px; margin-top: 18px; }
.directContact > div a { border: 1px solid var(--line-strong); border-radius: 3px; padding: 8px 13px; font-size: .82rem; font-weight: 700; text-decoration: none; }
.directContact > small { display: block; margin-top: 20px; color: var(--faint); font-size: .73rem; }
.inquiryForm { display: grid; gap: 15px; border: 1px solid var(--line); border-radius: 6px; background: var(--card); padding: 25px; }
.fieldRow { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.inquiryForm label { display: block; color: var(--faint); font: 700 .65rem "Courier New", monospace; letter-spacing: .05em; text-transform: uppercase; }
.inquiryForm input, .inquiryForm select, .inquiryForm textarea { width: 100%; margin-top: 6px; border: 1px solid var(--line-strong); border-radius: 3px; background: var(--paper); color: var(--ink); padding: 10px 11px; font: 16px Arial, sans-serif; text-transform: none; }
.inquiryForm textarea { min-height: 94px; resize: vertical; }
.inquiryForm button { justify-self: start; border: 0; border-radius: 3px; background: var(--teal-dark); color: #eef3eb; padding: 11px 19px; font-weight: 700; cursor: pointer; }
.formNote { color: var(--faint); font-size: .71rem; }
.siteFooter { border-top: 1px solid var(--line); padding: 30px 0; background: var(--card); }
.footerInner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; color: var(--faint); font-size: .76rem; }
.footerInner strong { color: var(--muted); font-family: Georgia, serif; }
.footerInner a { color: var(--teal-dark); }

.faqHero { padding: 66px 0 42px; border-bottom: 1px solid var(--line); }
.faqHero h1 { max-width: 760px; margin-top: 10px; font-size: clamp(2.5rem, 5vw, 4rem); }
.faqHero p:last-child { max-width: 680px; margin-top: 16px; color: var(--muted); }
.faqSection { padding: 62px 0 76px; }
.faqList { max-width: 850px; border-top: 1px solid var(--line); }
.faqList details { border-bottom: 1px solid var(--line); }
.faqList summary { cursor: pointer; list-style: none; padding: 22px 42px 22px 0; font: 700 1.15rem Georgia, serif; position: relative; }
.faqList summary::-webkit-details-marker { display: none; }
.faqList summary::after { content: "+"; position: absolute; right: 8px; color: var(--clay); font: 400 1.5rem Arial, sans-serif; }
.faqList details[open] summary::after { content: "–"; }
.faqList details p { max-width: 720px; padding: 0 42px 22px 0; color: var(--muted); }
.faqCta { margin-top: 34px; }

/* Dedicated service pages */
.recoveryHero, .researchHero { position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.recoveryHeroGrid, .researchHeroGrid { position: relative; display: grid; grid-template-columns: 1.15fr .65fr; gap: 64px; align-items: center; padding: 68px 0; }
.recoveryHero h1, .researchHero h1 { max-width: 760px; margin-top: 12px; font-size: clamp(2.65rem, 5vw, 4.6rem); letter-spacing: -.035em; }
.recoveryLead { max-width: 700px; margin-top: 19px; color: var(--muted); font-size: 1.05rem; }
.recoveryHeroActions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; }
.urgentCall, .textNow, .researchStart, .researchSecondary { border-radius: 4px; padding: 12px 17px; font-weight: 700; text-decoration: none; }
.urgentCall { background: var(--clay); color: #fff8ec; }
.textNow { border: 1px solid var(--clay); color: var(--clay-dark); }
.researchStart { background: var(--teal-dark); color: #edf3eb; }
.researchSecondary { border: 1px solid var(--teal); color: var(--teal-dark); }
.responseNote { margin-top: 15px; color: var(--faint); font-size: .78rem; }
.recoveryHeroPhoto, .researchHeroPhoto { overflow: hidden; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--card); box-shadow: 14px 14px 0 rgba(45,91,86,.12); }
.recoveryHeroPhoto img { width: 100%; aspect-ratio: 4/5; object-fit: cover; }
.researchHeroPhoto img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: center; }
.recoveryHeroPhoto figcaption, .researchHeroPhoto figcaption { padding: 11px 13px; color: var(--faint); font: 700 .68rem "Courier New", monospace; letter-spacing: .05em; text-transform: uppercase; }

.urgentSteps { padding: 48px 0; border-bottom: 1px solid var(--line); background: var(--card); }
.urgentStepGrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 17px; border: 1px solid var(--line); background: var(--line); }
.urgentStepGrid article { background: var(--paper); padding: 19px; }
.urgentStepGrid span, .researchMethodGrid span { color: var(--clay); font: 700 .68rem "Courier New", monospace; }
.urgentStepGrid h2 { margin-top: 7px; font-size: 1.12rem; }
.urgentStepGrid p { margin-top: 7px; color: var(--muted); font-size: .79rem; }

.recoveryContent, .researchPurpose, .pricingSection, .historicalPricing { padding: 68px 0; border-bottom: 1px solid var(--line); }
.recoverySplit { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.recoverySplit h2 { max-width: 18ch; margin-top: 8px; font-size: clamp(1.9rem, 3.5vw, 2.85rem); }
.recoverySplit > div > p:not(.eyebrow), .recoverySplit > p, .researchPurpose .recoverySplit > div:last-child > p { margin-top: 14px; color: var(--muted); }
.searchLocations { border-left: 3px solid var(--teal); background: rgba(45,91,86,.07); padding: 22px 24px; }
.searchLocations h3 { font-size: 1.25rem; }
.searchLocations ul, .researchQuestionList { margin: 13px 0 0; padding-left: 20px; color: var(--muted); }
.searchLocations li, .researchQuestionList li { margin-top: 6px; }
.waterRecoveryDetail { padding: 70px 0; border-bottom: 1px solid var(--line); background: var(--paper-deep); }

.recoveryMethod, .researchMethod { padding: 70px 0; border-bottom: 1px solid var(--line); background: var(--card); }
.methodHead h2 { margin-top: 8px; font-size: clamp(2rem, 3.5vw, 2.9rem); }
.methodGrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 28px; border: 1px solid var(--line); background: var(--line); }
.methodGrid article { background: var(--paper); padding: 21px; }
.methodGrid b { color: var(--teal-dark); font: 700 .92rem Georgia, serif; }
.methodGrid p { margin-top: 8px; color: var(--muted); font-size: .8rem; }

.recoveryProof, .historicFindings { padding: 70px 0; border-bottom: 1px solid var(--line); }
.recoveryProofGrid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 28px; }
.recoveryProofGrid figure { display: grid; grid-template-columns: 190px 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; background: var(--card); }
.recoveryProofGrid img { width: 100%; height: 250px; object-fit: cover; }
.recoveryProofGrid figcaption { align-self: center; padding: 23px; }
.recoveryProofGrid b, .recoveryProofGrid span { display: block; }
.recoveryProofGrid b { font: 700 1.08rem Georgia, serif; }
.recoveryProofGrid span { margin-top: 8px; color: var(--muted); font-size: .8rem; }
.serviceFaq { padding: 70px 0; border-bottom: 1px solid var(--line); }
.serviceFaq .faqList { margin-top: 26px; }
.fullFaqLink { margin-top: 24px; }
.fullFaqLink a { color: var(--teal-dark); font-weight: 700; text-decoration: none; }
.closingCta { padding: 42px 0; border-bottom: 1px solid var(--line); background: var(--card); }
.closingCtaInner { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.closingCta h2 { max-width: 620px; margin-top: 7px; font-size: clamp(1.7rem, 3vw, 2.45rem); }
.closingCtaActions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }

.researchPurpose { background: var(--card); }
.researchMethodGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 28px; border: 1px solid var(--line); background: var(--line); }
.researchMethodGrid article { background: var(--paper); padding: 22px; }
.researchMethodGrid h3 { margin-top: 7px; font-size: 1.2rem; }
.researchMethodGrid p { margin-top: 8px; color: var(--muted); font-size: .8rem; }
.documentationDeep { padding: 70px 0; border-bottom: 1px solid var(--line); background: var(--paper-deep); }
.documentationDeep h2 { max-width: 17ch; margin-top: 8px; font-size: clamp(2rem, 3.5vw, 2.9rem); }
.documentationDeep p:not(.eyebrow) { max-width: 60ch; margin-top: 15px; color: var(--muted); }
.recordStack { display: grid; gap: 10px; }
.researchRecordPhoto { overflow: hidden; margin-bottom: 4px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--card); }
.researchRecordPhoto img { width: 100%; height: 310px; object-fit: cover; object-position: center 45%; }
.researchRecordPhoto figcaption { padding: 10px 13px; color: var(--faint); font: 700 .66rem "Courier New", monospace; letter-spacing: .04em; text-transform: uppercase; }
.recordStack article { border-left: 3px solid var(--teal); background: rgba(247,241,227,.75); padding: 15px 17px; }
.recordStack b, .recordStack span { display: block; }
.recordStack b { font: 700 .94rem Georgia, serif; }
.recordStack span { margin-top: 4px; color: var(--muted); font-size: .76rem; }

@media (max-width: 860px) {
  .desktopNav { display: none; }
  .heroGrid, .visualGrid, .photoFirst, .aboutVisual, .contactGrid { grid-template-columns: 1fr; }
  .heroGrid { gap: 38px; padding: 58px 0; }
  .heroPhoto { max-width: 430px; }
  .visualGrid { gap: 36px; } .photoFirst .servicePhoto { order: 2; }
  .threeSteps, .photoCases, .documentationCards { grid-template-columns: 1fr; }
  .photoCases article { grid-template-columns: 165px 1fr; }
  .teamPhotos { max-width: 620px; }
  .ethicsInner { grid-template-columns: 1fr; gap: 8px; }
  .recoveryHeroGrid, .researchHeroGrid, .recoverySplit { grid-template-columns: 1fr; gap: 36px; }
  .recoveryHeroPhoto, .researchHeroPhoto { max-width: 520px; }
  .researchRecordPhoto { max-width: 520px; }
  .urgentStepGrid, .methodGrid { grid-template-columns: 1fr 1fr; }
  .researchMethodGrid { grid-template-columns: 1fr 1fr; }
  .recoveryProofGrid { grid-template-columns: 1fr; }
  .closingCtaInner { align-items: flex-start; flex-direction: column; }
  .closingCtaActions { justify-content: flex-start; }
}
@media (max-width: 580px) {
  body { font-size: 16px; } .wrap { width: min(100% - 28px, 1120px); }
  .headerInner { min-height: 66px; gap: 10px; } .brandMark { width: 36px; height: 36px; }
  .brand strong { font-size: 1rem; } .brand small { display: none; }
  .callButton { padding: 8px 10px; font-size: .74rem; }
  .heroCopyBlock h1 { font-size: clamp(2.25rem, 11.5vw, 3.25rem); }
  .heroActions { grid-template-columns: 1fr; }
  .trustGrid { grid-template-columns: 1fr; padding: 8px 0; }
  .trustGrid span, .trustGrid span:last-child { border: 0; border-bottom: 1px solid var(--line); padding: 10px; }
  .trustGrid span:last-child { border-bottom: 0; }
  .visualService, .documentationSection, .processSection, .casesSection, .aboutSection, .contactSection { padding: 58px 0; }
  .compactPanel { grid-template-columns: 1fr; gap: 5px; }
  .findingsGallery { grid-template-columns: 1fr 1fr; }
  .findingsGallery figure:last-child { grid-column: 1 / -1; }
  .photoCases article { grid-template-columns: 1fr; }
  .photoCases img { height: 260px; min-height: 0; }
  .teamPhotos { min-height: 390px; }
  .findingsHead { display: block; }
  .findingsHead > p:last-child { margin-top: 7px; text-align: left; }
  .findingsGallery { grid-template-columns: 1fr; }
  .findingsGallery figure:last-child { grid-column: auto; }
  .findingsGallery img { height: 300px; }
  .fieldRow { grid-template-columns: 1fr; }
  .recoveryHeroGrid, .researchHeroGrid { padding: 52px 0; }
  .urgentStepGrid, .methodGrid, .researchMethodGrid { grid-template-columns: 1fr; }
  .recoveryProofGrid figure { grid-template-columns: 1fr; }
  .recoveryProofGrid img { height: 260px; }
  .researchRecordPhoto img { height: 280px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
