:root {
  --paper:#faf9f5;
  --white:#fff;
  --forest:#193d31;
  --ink:#202e27;
  --muted:#59665d;
  --line:#d8dfd7;
  --wash:#e9efe8;
  --error:#9d3028;
  --field-border:#7a857d;
  --radius:3px;
  --font-display:'Bodoni Moda',Didot,'Times New Roman',serif;
  --font-handwritten:'Allura','Snell Roundhand','Brush Script MT',cursive;
  --font-text:'Montserrat',Arial,sans-serif;
  font-family:var(--font-text);
  font-synthesis:none;
  font-kerning:normal;
  font-optical-sizing:auto;
  color-scheme:light;
  caret-color:var(--forest);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:132px; }
body { margin:0; background:var(--paper); color:var(--ink); font-size:15px; line-height:1.65; }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:5px; }
button,input,select,textarea { font:inherit; }
button { cursor:pointer; }
button,a,summary { touch-action:manipulation; -webkit-tap-highlight-color:transparent; }
img { display:block; max-width:100%; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-family:var(--font-display); font-weight:500; text-wrap:balance; }
h2 { font-size:clamp(38px,4.5vw,62px); line-height:1.08; letter-spacing:-.025em; }
h3 { line-height:1.2; letter-spacing:-.015em; }
p { max-width:65ch; }
[hidden] { display:none!important; }
.visually-hidden { position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; }
::selection { background:var(--forest); color:var(--paper); }
:focus-visible { outline:2px solid var(--forest); outline-offset:5px; }
button:disabled { cursor:not-allowed; }
.wrap { width:min(1320px,calc(100% - 112px)); margin-inline:auto; }
.skip-link { position:fixed; top:-100px; left:20px; padding:12px 20px; background:var(--forest); color:var(--white); z-index:100; }
.skip-link:focus { top:16px; }
.site-header { position:sticky; top:0; z-index:30; background:var(--paper); border-bottom:1px solid var(--line); }
.header-inner { height:116px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:block; flex-shrink:0; text-decoration:none; }
.brand-logo { width:136px; height:auto; }
.desktop-nav { display:flex; gap:34px; font-size:14px; }
.desktop-nav a { padding-block:12px; text-decoration:none; }
.desktop-nav a:hover { text-decoration:underline; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:28px; min-height:54px; padding:14px 24px; border:1px solid var(--forest); border-radius:var(--radius); background:var(--forest); color:var(--white); font-size:14px; line-height:1.4; font-weight:550; text-decoration:none; transition:background-color 180ms,color 180ms,transform 120ms ease-out; }
.button:hover { background:var(--ink); }
.button:active,.text-button:active { transform:translateY(1px); }
.button-small { min-height:46px; padding:11px 18px; font-size:13px; gap:25px; }
.button-paper { background:var(--paper); color:var(--forest); border-color:var(--paper); }
.button-paper:hover { background:var(--wash); color:var(--forest); border-color:var(--wash); }
.button-outline { background:transparent; color:var(--forest); }
.button-outline:hover { background:var(--wash); color:var(--forest); }
.button:disabled { background:var(--wash); color:var(--muted); border-color:var(--line); transform:none; }
.header-actions { display:flex; align-items:center; gap:24px; }
.header-phone { font-size:14px; font-weight:550; color:var(--forest); text-decoration:none; padding-block:12px; white-space:nowrap; }
.header-phone:hover { text-decoration:underline; }
.header-call { display:none; align-items:center; min-height:44px; padding:10px 16px; border:1px solid var(--forest); border-radius:var(--radius); color:var(--forest); font-size:14px; font-weight:550; text-decoration:none; }
.menu-toggle { display:none; align-items:center; gap:12px; min-height:44px; border:0; padding:10px 0 10px 12px; background:none; color:var(--forest); font-size:14px; }
.mobile-nav { padding:12px 24px 22px; border-top:1px solid var(--line); max-height:calc(100dvh - 72px); overflow-y:auto; }
.mobile-nav a { display:block; padding:11px 0; font-size:16px; text-decoration:none; }
.hero { position:relative; isolation:isolate; margin:20px 20px 0; min-height:620px; height:min(760px,calc(100svh - 136px)); color:var(--white); overflow:hidden; background:var(--forest); }
.hero-image { position:absolute; z-index:-2; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.hero-shade { position:absolute; z-index:-1; inset:0; background:linear-gradient(0deg,rgba(10,28,20,.3),transparent 40%),linear-gradient(90deg,rgba(10,28,20,.82) 0%,rgba(10,28,20,.64) 46%,rgba(10,28,20,.18) 100%); }
.hero-content { width:min(1320px,calc(100% - 112px)); margin-inline:auto; padding-top:clamp(50px,6vw,94px); animation:hero-arrival 500ms ease-out both; }
.hero-intro { display:block; font-family:var(--font-text); font-size:13px; font-weight:500; line-height:1.65; margin-bottom:28px; letter-spacing:.02em; }
h1 { font-size:clamp(70px,7.5vw,116px); line-height:1.05; letter-spacing:-.035em; max-width:1000px; }
.hero-action { margin-top:35px; display:flex; align-items:center; gap:50px; }
.hero-action p { font-size:16px; line-height:1.7; max-width:380px; }
.hero-action .button { flex-shrink:0; }
.hero-cta { display:flex; flex-direction:column; align-items:flex-start; gap:12px; flex-shrink:0; }
.hero-call { font-size:14px; padding-block:4px; }
.hero-bottom { position:absolute; bottom:32px; left:0; width:100%; padding-inline:max(56px,calc((100% - 1320px)/2)); display:flex; justify-content:space-between; align-items:flex-end; gap:24px; }
.hero-bottom a { display:inline-flex; align-items:center; gap:40px; font-size:13px; text-decoration:none; padding:8px 0; }
.hero-bottom a span { font-size:22px; }
.hero-bottom p { font-family:var(--font-handwritten); font-size:39px; line-height:1.3; padding-right:4px; }
.hero :focus-visible { outline-color:var(--paper); }
.introduction { padding-block:100px 112px; display:grid; grid-template-columns:1fr 2.6fr; column-gap:60px; align-items:start; }
.intro-note { font-size:14px; padding-top:9px; color:var(--muted); }
.intro-statement { font-family:var(--font-display); font-size:clamp(28px,3.3vw,46px); line-height:1.3; letter-spacing:-.015em; }
.intro-statement span { color:var(--muted); }
.inline-link { display:inline-flex; align-items:center; justify-content:space-between; gap:32px; font-size:14px; padding-block:8px; text-decoration:none; border-bottom:1px solid currentColor; width:fit-content; }
.inline-link:hover { color:var(--muted); }
.introduction .inline-link { grid-column:2; margin-top:24px; }
.services { padding-bottom:32px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:46px; }
.section-label { font-size:13px; font-weight:500; margin-bottom:22px; }
.section-heading>p { font-size:15px; max-width:340px; color:var(--muted); padding-bottom:5px; }
.service-stage { display:grid; grid-template-columns:270px minmax(0,1fr); gap:28px; }
.service-tabs { display:flex; flex-direction:column; border-top:1px solid var(--line); align-self:start; }
.service-tabs button { display:flex; align-items:center; gap:15px; width:100%; padding:26px 14px; background:none; color:var(--ink); text-align:left; border:0; border-bottom:1px solid var(--line); transition:background-color 180ms,color 180ms; }
.service-tabs button[aria-selected=true] { background:var(--wash); color:var(--forest); }
.service-tabs button:hover:not(:disabled) { background:var(--wash); }
.service-tabs button:active:not(:disabled) { background:var(--line); }
.service-tabs .tab-number { font-size:12px; color:var(--muted); align-self:flex-start; padding-top:9px; }
.tab-copy { flex:1; }
.tab-copy strong { display:block; font-family:var(--font-display); font-size:24px; line-height:1.2; font-weight:500; }
.tab-copy small { display:block; font-size:13px; color:var(--muted); margin-top:7px; }
.service-panels { min-width:0; }
.service-panel { display:grid; grid-template-columns:.85fr 1.15fr; min-height:510px; background:var(--forest); color:var(--paper); animation:panel-arrival 220ms ease-out; }
.service-panel:focus-visible { outline-offset:6px; }
.service-image { position:relative; min-width:0; background:var(--wash); }
.service-image img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center 60%; }
#service-panel-deep .service-image img { object-position:55% center; }
#service-panel-move .service-image img { object-position:center 65%; }
.service-image figcaption { position:absolute; bottom:0; left:0; right:0; background:var(--paper); color:var(--forest); padding:12px 15px; font-size:12px; }
.service-detail { display:flex; flex-direction:column; min-width:0; padding:32px 34px; }
.service-kicker { font-size:12px; margin-bottom:22px; }
.service-detail h3 { font-size:37px; letter-spacing:-.02em; max-width:380px; }
.service-description { font-size:15px; line-height:1.75; margin-top:17px; color:var(--wash); }
.scope-list { list-style:none; padding:0; margin:23px 0 28px; font-size:14px; }
.scope-list li { display:flex; align-items:baseline; gap:9px; padding:7px 0; border-bottom:1px solid #496357; }
.scope-list li::before { content:'+'; font-size:13px; }
.service-bottom { display:flex; align-items:flex-end; gap:18px; justify-content:space-between; margin-top:auto; }
.service-price span { display:block; font-size:12px; }
.service-price strong { display:block; font-family:var(--font-text); font-size:33px; font-weight:450; line-height:1.2; font-variant-numeric:tabular-nums; }
.text-button { padding:10px 0; border:0; border-bottom:1px solid currentColor; background:none; color:inherit; display:inline-flex; align-items:center; gap:20px; font-size:13px; white-space:nowrap; transition:opacity 150ms,transform 120ms; }
.text-button:hover { opacity:.8; }
.service-panel :focus-visible { outline-color:var(--paper); }
.pricing-note { margin-top:19px; margin-left:298px; font-size:13px; color:var(--muted); max-width:760px; }
.noscript-services { margin-top:25px; font-size:14px; }
.noscript-services p { margin-top:12px; }
.care-note { margin-top:44px; padding-block:40px 100px; border-top:1px solid var(--line); display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:65px; }
.care-note>p { font-family:var(--font-handwritten); font-size:35px; line-height:1.2; color:var(--forest); }
.care-note h3 { font-family:var(--font-text); font-size:15px; letter-spacing:0; margin:0 0 11px; font-weight:550; }
.care-note div p { font-size:14px; color:var(--muted); line-height:1.8; }
.amanda-section { background:var(--wash); }
.amanda-inner { display:grid; grid-template-columns:.82fr 1.18fr; gap:115px; align-items:center; padding-block:110px; }
.amanda-photo { max-width:355px; justify-self:center; width:100%; }
.portrait-mat { background:var(--paper); padding:15px 15px 18px; transform:rotate(-3deg); }
.portrait-mat img { width:100%; aspect-ratio:4/5; height:auto; object-fit:cover; object-position:center 35%; }
.amanda-photo figcaption { margin-top:30px; text-align:center; font-size:13px; color:var(--muted); }
.amanda-photo figcaption span { display:block; font-family:var(--font-handwritten); font-size:44px; color:var(--forest); line-height:1.2; }
.amanda-copy h2 { font-size:clamp(35px,3.6vw,52px); margin-bottom:28px; }
.amanda-copy>p:not(.section-label) { font-size:15px; line-height:1.85; max-width:540px; color:var(--muted); margin-top:16px; }
.amanda-copy blockquote { font-family:var(--font-handwritten); color:var(--forest); font-size:33px; line-height:1.3; margin:27px 0 18px; }
.estimate-section { background:var(--forest); color:var(--paper); padding-block:100px; }
.estimate-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; align-items:start; }
.estimate-intro { position:sticky; top:145px; }
.estimate-intro h2 { font-size:clamp(48px,5.5vw,78px); margin-bottom:22px; }
.estimate-intro h2 span { font-family:var(--font-handwritten); font-weight:400; letter-spacing:0; font-size:1.15em; line-height:1.1; }
.estimate-intro>p:not(.section-label) { font-size:15px; line-height:1.8; max-width:400px; }
.direct-contact { margin-top:26px; display:grid; justify-items:start; gap:4px; font-size:15px; }
.direct-contact p { font-size:13px; color:var(--wash); margin-bottom:4px; }
.direct-contact a { font-weight:550; padding-block:6px; overflow-wrap:break-word; }
.direct-contact a:first-of-type { font-family:var(--font-display); font-size:26px; font-weight:500; text-decoration:none; }
.direct-contact a:hover { color:var(--wash); }
.clean-plan { margin-top:34px; border-block:1px solid #6c8478; padding-block:23px; }
.plan-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.plan-heading h3 { font-family:var(--font-text); font-size:15px; letter-spacing:0; }
#plan-status { font-size:12px; color:var(--wash); margin-top:2px; }
.plan-service-line { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:23px; font-size:14px; }
.plan-service-line strong { font-weight:500; font-size:17px; white-space:nowrap; font-variant-numeric:tabular-nums; }
.clean-plan dl { margin:20px 0; display:grid; gap:9px; font-size:13px; }
.clean-plan dl div { display:flex; justify-content:space-between; gap:25px; }
.clean-plan dt { color:var(--wash); }
.clean-plan dd { margin:0; text-align:right; max-width:65%; overflow-wrap:anywhere; }
.plan-note { font-size:12px; color:var(--wash); line-height:1.7; }
.how-it-works { margin:27px 0 21px; display:grid; gap:9px; }
.how-it-works p { display:flex; align-items:baseline; gap:14px; font-size:14px; }
.how-it-works span { font-size:12px; color:var(--wash); }
.estimate-intro p.quiet-note { font-size:13px; color:var(--wash); }
.estimate-intro .inline-link { margin-top:17px; font-size:13px; }
.estimate-intro .inline-link:hover { color:var(--wash); }
.estimate-intro :focus-visible { outline-color:var(--paper); }
.estimate-workspace { min-width:0; color:var(--ink); }
form { background:var(--paper); padding:38px; }
fieldset { margin:0; padding:0; border:0; min-width:0; }
legend { font-size:17px; font-weight:550; margin-bottom:20px; }
.service-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.service-options label { position:relative; cursor:pointer; min-width:0; }
.service-options input { position:absolute; opacity:0; left:12px; top:12px; width:16px; height:16px; }
.service-options span { display:block; min-height:76px; height:100%; padding:14px 10px; border:1px solid var(--field-border); background:var(--white); font-size:14px; line-height:1.5; border-radius:var(--radius); transition:background-color 180ms,border-color 180ms; }
.service-options small { display:block; font-size:13px; color:var(--muted); margin-top:5px; white-space:nowrap; }
.service-options input:checked+span { background:var(--wash); border-color:var(--forest); box-shadow:inset 0 0 0 1px var(--forest); color:var(--forest); font-weight:550; }
.service-options input:focus-visible+span { outline:2px solid var(--forest); outline-offset:4px; }
.service-options label:hover span { border-color:var(--forest); }
.service-options label:active span { background:var(--wash); }
.service-context { margin:16px 0 30px; min-height:40px; font-size:14px; color:var(--muted); }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px 18px; }
.field label { display:block; font-size:14px; font-weight:550; margin-bottom:8px; }
.field label span { color:var(--muted); font-weight:400; font-size:13px; }
input:not([type=radio]):not([type=checkbox]),select,textarea { width:100%; min-height:48px; border:1px solid var(--field-border); border-radius:var(--radius); background:var(--white); padding:10px 11px; font-size:16px; line-height:1.5; color:var(--ink); }
input::placeholder,textarea::placeholder { color:var(--muted); opacity:1; font-size:14px; }
textarea { min-height:104px; resize:vertical; }
select { appearance:none; -webkit-appearance:none; padding-right:32px; font-size:15px; background-image:url('assets/chevron.svg'); background-position:right 11px center; background-size:12px 8px; background-repeat:no-repeat; }
input:not([type=radio]):not([type=checkbox]):user-invalid,textarea:user-invalid { border-color:var(--error); }
input[type=checkbox] { accent-color:var(--forest); width:17px; height:17px; flex-shrink:0; margin:0; }
summary { cursor:pointer; list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; }
summary::-webkit-details-marker { display:none; }
summary span[aria-hidden] { font-size:22px; font-weight:400; line-height:1; }
details[open]>summary>span[aria-hidden] { transform:rotate(45deg); }
.extras { margin-top:28px; border-block:1px solid var(--line); padding-block:18px; }
.extras>summary { font-size:15px; font-weight:500; min-height:44px; }
.extras>summary>span { display:flex; gap:20px; align-items:center; font-size:13px; color:var(--muted); font-weight:400; }
.extras b[aria-hidden] { font-size:23px; font-weight:400; line-height:1; }
details[open].extras b[aria-hidden] { transform:rotate(45deg); }
.extras>p { margin-top:15px; font-size:14px; color:var(--muted); }
.extras-grid { display:grid; margin-top:12px; }
.extras-grid label { display:flex; align-items:center; gap:10px; font-size:14px; padding:11px 0; cursor:pointer; }
.extras-grid b { margin-left:auto; font-size:13px; font-weight:400; white-space:nowrap; font-variant-numeric:tabular-nums; }
.notes-field { margin-top:25px; }
.estimate-footer { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-top:28px; }
.estimate-footer strong { display:block; font-size:18px; font-weight:550; font-variant-numeric:tabular-nums; }
.estimate-footer div>span { display:block; font-size:13px; color:var(--muted); margin-top:3px; }
.estimate-footer .button { font-size:14px; padding-inline:20px; gap:20px; }
.form-note { font-size:13px; color:var(--muted); line-height:1.7; margin-top:20px; }
.botcheck { display:none; }
.form-note>span { display:block; margin-top:7px; }
.form-status { background:var(--paper); padding:38px; }
#estimate-form:not([hidden])+.form-status { margin-top:20px; background:var(--wash); }
.form-status h3 { font-size:31px; margin-bottom:15px; }
.form-status h3:focus { outline:none; }
.form-status>p { font-size:15px; color:var(--muted); overflow-wrap:break-word; }
.status-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.status-actions .button { min-height:48px; padding-inline:20px; }
.form-status p.status-direct { margin-top:18px; font-size:14px; }
.status-message { margin-top:20px; }
.status-message label { display:block; font-size:14px; font-weight:550; margin-bottom:8px; }
.status-message textarea { font-size:14px; line-height:1.7; min-height:220px; }
.form-status #copy-status { min-height:20px; margin:12px 0 0; font-size:14px; color:var(--forest); }
.noscript-note { font-size:14px; margin-top:15px; color:var(--ink); }
.questions-section { padding-block:112px; }
.question-layout { display:grid; grid-template-columns:.9fr 1.1fr; gap:95px; }
.question-layout h2 { font-size:clamp(36px,3.8vw,53px); }
.questions details { border-top:1px solid var(--line); padding:14px 0; }
.questions details:last-child { border-bottom:1px solid var(--line); }
.questions summary { font-size:16px; font-weight:500; min-height:44px; }
.questions summary:hover { color:var(--muted); }
.questions details p,.questions .answer { font-size:15px; line-height:1.8; color:var(--muted); margin-top:18px; }
.questions ul { padding-left:18px; }
.closing { position:relative; min-height:490px; background:var(--forest); color:var(--paper); display:grid; grid-template-columns:1fr 1fr; margin-inline:20px; }
.closing img { width:100%; height:490px; object-fit:cover; object-position:center 68%; }
.closing-copy { padding:62px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.closing-copy>p { font-family:var(--font-handwritten); font-size:32px; line-height:1.2; margin-bottom:22px; }
.closing h2 { font-size:clamp(45px,4.5vw,65px); margin-bottom:31px; }
.closing :focus-visible { outline-color:var(--paper); }
.site-footer { padding-block:55px 24px; }
.footer-main { display:flex; align-items:center; justify-content:space-between; gap:35px; }
.footer-main .brand-logo { width:168px; }
.footer-main>p { font-family:var(--font-display); font-size:25px; line-height:1.4; color:var(--forest); }
.footer-contact { display:grid; justify-items:end; gap:2px; font-style:normal; font-size:15px; color:var(--forest); }
.footer-contact a { padding-block:6px; overflow-wrap:break-word; }
.footer-contact span { color:var(--muted); font-size:14px; }
.footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 22px; border-top:1px solid var(--line); padding-top:24px; margin-top:46px; color:var(--muted); }
.footer-bottom small,.footer-bottom>a { font-size:12px; }
.footer-bottom>a { padding-block:10px; white-space:nowrap; }
::-webkit-scrollbar { width:10px; }
::-webkit-scrollbar-track { background:var(--paper); }
::-webkit-scrollbar-thumb { background:var(--line); border:2px solid var(--paper); border-radius:5px; }
@keyframes hero-arrival { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes panel-arrival { from { opacity:.5; } to { opacity:1; } }
@media(min-width:1700px) {
  .hero-content { padding-top:95px; }
}
@media(max-width:1200px) {
  .wrap { width:calc(100% - 72px); }
  .hero-content { width:calc(100% - 72px); }
  .hero-bottom { padding-inline:36px; }
  .hero-action { gap:30px; }
  .service-stage { grid-template-columns:235px minmax(0,1fr); gap:20px; }
  .service-detail { padding:29px 26px; }
  .service-panel { grid-template-columns:.7fr 1.3fr; }
  .service-detail h3 { font-size:33px; }
  .tab-copy strong { font-size:25px; }
  .pricing-note { margin-left:255px; }
  .service-bottom { align-items:flex-start; flex-direction:column; gap:12px; }
  .service-price { display:flex; align-items:baseline; gap:10px; }
  .care-note { gap:36px; }
  .amanda-inner { gap:70px; }
  .estimate-layout { gap:54px; grid-template-columns:.8fr 1.2fr; }
  form { padding:30px; }
  .estimate-footer { align-items:flex-start; flex-direction:column; }
  .estimate-footer .button { width:100%; }
  .question-layout { gap:60px; }
  .closing-copy { padding:46px; }
}
@media(max-width:1060px) {
  .header-phone { display:none; }
}
@media(min-width:701px) and (max-width:760px) {
  .header-inner { gap:12px; }
  .desktop-nav { gap:12px; }
  .desktop-nav a,.header-cta { white-space:nowrap; }
  .header-cta { padding-inline:14px; }
}
@media(max-width:950px) {
  .wrap { width:calc(100% - 56px); }
  .header-inner { height:106px; }
  .brand-logo { width:123px; }
  .desktop-nav { gap:22px; font-size:13px; }
  html { scroll-padding-top:122px; }
  .hero { min-height:580px; height:650px; }
  h1 { font-size:clamp(64px,8vw,86px); }
  .hero-action { flex-direction:column; align-items:flex-start; gap:25px; margin-top:30px; }
  .hero-bottom p { font-size:34px; }
  .introduction { gap:25px 45px; padding-block:75px 85px; grid-template-columns:1fr 2fr; }
  .intro-statement { font-size:34px; }
  .section-heading { gap:25px; }
  .section-heading>p { max-width:260px; font-size:14px; }
  .service-stage { grid-template-columns:1fr; gap:0; }
  .service-tabs { flex-direction:row; border-top:0; }
  .service-tabs button { flex:1; min-width:0; padding:20px 16px; border-bottom:0; }
  .service-tabs button[aria-selected=true] { background:var(--forest); color:var(--paper); }
  .service-tabs button[aria-selected=true] small,.service-tabs button[aria-selected=true] .tab-number { color:var(--wash); }
  .service-tabs button[aria-selected=true]:hover { background:var(--forest); }
  .tab-copy strong { font-size:24px; }
  .tab-copy small { font-size:12px; }
  .service-panel { grid-template-columns:1fr 1.1fr; min-height:450px; }
  .service-detail { padding:33px; }
  .service-detail h3 { font-size:35px; }
  .service-bottom { flex-direction:row; align-items:flex-end; }
  .service-price { display:block; }
  .pricing-note { margin-left:0; }
  .care-note { padding-bottom:75px; margin-top:25px; gap:30px; }
  .care-note>p { font-size:30px; }
  .amanda-inner { padding-block:80px; gap:50px; grid-template-columns:.8fr 1.2fr; }
  .amanda-copy h2 { font-size:38px; }
  .estimate-layout { gap:35px; grid-template-columns:.8fr 1.2fr; }
  .estimate-intro h2 { font-size:55px; }
  .estimate-intro { top:130px; }
  form { padding:25px 22px; }
  .field-grid { grid-template-columns:1fr; }
  .service-options span { font-size:13px; padding:12px 8px; }
  .service-options small { font-size:12px; }
  .questions-section { padding-block:80px; }
  .question-layout { gap:35px; }
  .closing { min-height:430px; }
  .closing img { height:430px; }
  .closing-copy { padding:35px; }
  .closing h2 { font-size:49px; }
  .footer-main { gap:30px; }
  .footer-main .brand-logo { width:140px; }
  .footer-main>p { font-size:21px; }
  .footer-contact { font-size:14px; }
}
@media(max-width:700px) {
  .wrap { width:calc(100% - 40px); }
  .header-inner { height:74px; }
  .brand-logo { width:88px; }
  .desktop-nav,.header-cta { display:none; }
  .header-actions { gap:14px; }
  .header-call { display:inline-flex; }
  .menu-toggle { display:flex; }
  html { scroll-padding-top:90px; }
  .hero { margin:10px 10px 0; min-height:600px; height:calc(92svh - 84px); max-height:740px; }
  .hero-image { object-position:60% center; }
  .hero-shade { background:linear-gradient(90deg,rgba(10,28,20,.8),rgba(10,28,20,.45)); }
  .hero-content { width:calc(100% - 44px); padding-top:55px; }
  .hero-intro { font-size:12px; margin-bottom:24px; }
  h1 { font-size:clamp(47px,10vw,69px); line-height:1.04; letter-spacing:-.025em; }
  .hero-action { margin-top:29px; gap:28px; }
  .hero-action p { font-size:15px; }
  .hero-action .button { font-size:14px; padding-inline:19px; gap:24px; }
  .hero-call { display:none; }
  .hero-bottom { padding-inline:22px; bottom:24px; display:block; }
  .hero-bottom p { font-size:34px; margin-bottom:15px; }
  .hero-bottom a { position:absolute; bottom:0; left:22px; font-size:12px; gap:24px; }
  .hero-bottom { padding-bottom:35px; }
  .introduction { display:block; padding-block:62px 72px; }
  .intro-note { font-size:13px; margin-bottom:26px; padding-top:0; }
  .intro-note br { display:none; }
  .intro-statement { font-size:clamp(25px,5.7vw,36px); }
  .introduction .inline-link { margin-top:25px; }
  .section-heading { display:block; margin-bottom:30px; }
  .section-label { font-size:12px; margin-bottom:17px; }
  h2 { font-size:clamp(35px,7.5vw,48px); }
  .section-heading>p { margin-top:22px; font-size:15px; max-width:360px; }
  .service-tabs { gap:0; }
  .service-tabs button { padding:16px 9px; display:block; }
  .tab-number { display:none; }
  .tab-copy strong { font-family:var(--font-text); font-size:13px; font-weight:550; line-height:1.4; }
  .tab-copy small { display:none; }
  .service-panel { grid-template-columns:1fr; }
  .service-image { height:230px; }
  .service-image img { object-position:center 55%; }
  #service-panel-move .service-image img { object-position:center 67%; }
  .service-image figcaption { left:auto; width:auto; max-width:85%; font-size:12px; padding:10px 14px; }
  .service-detail { padding:28px 26px; }
  .service-kicker { margin-bottom:17px; }
  .service-detail h3 { font-size:35px; }
  .service-description { font-size:15px; margin-top:17px; }
  .scope-list { margin-block:21px 28px; font-size:14px; }
  .service-price strong { font-size:32px; }
  .text-button { gap:14px; font-size:13px; }
  .pricing-note { font-size:13px; line-height:1.8; }
  .care-note { display:grid; grid-template-columns:1fr 1fr; padding-block:29px 65px; gap:27px 24px; }
  .care-note>p { grid-column:1/-1; font-size:33px; }
  .care-note>p br { display:none; }
  .care-note h3 { font-size:14px; line-height:1.5; }
  .care-note div p { font-size:14px; }
  .amanda-inner { display:flex; flex-direction:column; align-items:stretch; gap:49px; padding-block:65px; }
  .amanda-photo { width:66%; max-width:270px; align-self:center; }
  .portrait-mat { padding:11px 11px 14px; }
  .amanda-photo figcaption { margin-top:24px; }
  .amanda-photo figcaption span { font-size:39px; }
  .amanda-copy h2 { font-size:36px; }
  .amanda-copy>p:not(.section-label) { font-size:15px; }
  .amanda-copy blockquote { font-size:31px; }
  .estimate-section { padding-block:65px; }
  .estimate-layout { display:block; }
  .estimate-intro { position:static; }
  .estimate-intro h2 { font-size:61px; }
  .estimate-intro>p:not(.section-label) { font-size:15px; max-width:420px; }
  .clean-plan { display:none; }
  .how-it-works { margin-block:26px 17px; }
  .how-it-works p { font-size:14px; }
  .estimate-intro p.quiet-note { font-size:13px; }
  .estimate-workspace { margin-top:35px; }
  form { padding:29px 22px; }
  .field-grid { grid-template-columns:1fr; gap:21px; }
  .service-options { gap:7px; }
  .service-options span { font-size:13px; padding:14px 9px; }
  .service-options small { font-size:12px; }
  .service-context { font-size:14px; min-height:0; margin-bottom:26px; }
  select { font-size:16px; }
  .estimate-footer { gap:19px; }
  .estimate-footer .button { font-size:15px; }
  .form-status { padding:28px 22px; }
  .form-status h3 { font-size:28px; }
  .status-actions { flex-direction:column; }
  .status-actions .button { width:100%; }
  .question-layout { display:block; }
  .question-layout h2 { font-size:38px; margin-bottom:32px; }
  .questions-section { padding-block:66px; }
  .questions summary { font-size:15px; }
  .questions details p,.questions .answer { font-size:14px; }
  .closing { display:flex; flex-direction:column; margin-inline:10px; }
  .closing img { height:270px; }
  .closing-copy { padding:37px 27px 44px; }
  .closing h2 { font-size:49px; }
  .closing-copy>p { font-size:29px; }
  .site-footer { padding-block:40px 25px; }
  .footer-main { display:grid; grid-template-columns:1fr 1fr; gap:30px 18px; }
  .footer-main .brand-logo { width:142px; }
  .footer-main>p { font-size:20px; justify-self:end; }
  .footer-contact { grid-column:1/-1; justify-items:start; }
  .footer-bottom { display:block; margin-top:34px; padding-top:17px; }
  .footer-bottom small { display:block; margin-top:9px; line-height:1.8; }
  .footer-bottom>a { display:inline-block; margin-top:16px; margin-right:24px; }
}
@media(max-width:400px) {
  .hero { min-height:590px; }
  .hero-content { width:calc(100% - 36px); padding-top:40px; }
  h1 { font-size:clamp(41px,11vw,45px); }
  .hero-bottom { padding-inline:18px; }
  .hero-bottom a { left:18px; }
  .hero-bottom p { font-size:31px; }
  .wrap { width:calc(100% - 36px); }
  .intro-statement { font-size:25px; }
  .service-tabs button { padding:15px 8px; }
  .tab-copy strong { font-size:12px; }
  .service-detail { padding:27px 21px; }
  .service-detail h3 { font-size:32px; }
  .service-image { height:195px; }
  .service-bottom { gap:12px; flex-wrap:wrap; }
  .text-button { gap:10px; }
  .amanda-copy h2 { font-size:32px; }
  .care-note { grid-template-columns:1fr; gap:22px; }
  .care-note div { max-width:290px; }
  form { padding:25px 17px; }
  legend { font-size:15px; }
  .service-options span { font-size:12px; padding:12px 6px; }
  .service-options small { font-size:12px; }
  .extras-grid label { gap:8px; font-size:13px; }
  .extras-grid b { font-size:12px; }
  .estimate-intro h2 { font-size:54px; }
  .closing h2 { font-size:43px; }
  .footer-main .brand-logo { width:126px; }
  .footer-main>p { font-size:17px; }
}
@media(forced-colors:active) {
  .service-tabs button[aria-selected=true],.service-options input:checked+span { outline:2px solid Highlight; outline-offset:-2px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .hero-content { animation:none; }
  .service-panel { animation:none; }
  .button,.text-button,.service-options span,.service-tabs button { transition:background-color 80ms,color 80ms; }
  .button:active,.text-button:active { transform:none; }
}
