.treatment-page { overflow: hidden; }
.treatment-concept .whatsapp-float { display:none; }
.treatment-page > .section-wrap { padding-top:78px; padding-bottom:78px; }
.treatment-hero { display:grid; grid-template-columns: .92fr 1.08fr; min-height:570px; background:var(--paper); color:var(--ink); }
.treatment-hero-copy { align-self:center; padding:68px var(--gutter); padding-right:clamp(35px,6vw,100px); }
.treatment-hero .eyebrow,.treatment-section-heading .eyebrow,.treatment-types-heading .eyebrow,.treatment-process-heading .eyebrow,.fabric-copy .eyebrow { font-size:13px; }
.treatment-hero .eyebrow,.treatment-section-heading .eyebrow,.treatment-types-heading .eyebrow,.treatment-process-heading .eyebrow { color:#806347; margin-bottom:28px; }
.treatment-hero h1 { font-size:clamp(50px,6vw,90px); max-width:740px; }
.treatment-deck { max-width:515px; color:#596259; font-size:15px; line-height:1.9; margin-top:28px; }
.treatment-actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:34px; }
.treatment-actions .button { background:var(--ink); color:var(--paper); }
.treatment-actions .button:hover { background:#39423b; }
.treatment-actions .text-link { color:var(--ink); margin:0; }
.treatment-hero-image { min-height:570px; position:relative; margin:0; overflow:hidden; background:#b9ae98; }
.treatment-hero-image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.treatment-hero-image figcaption { position:absolute; bottom:0; left:0; right:0; padding:45px var(--gutter) 22px; color:#fff; font-size:12px; letter-spacing:.03em; background:linear-gradient(transparent,#111713b8); }
.treatment-approach { background:var(--ink-soft); display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:start; }
.treatment-section-heading h2,.treatment-types h2,.treatment-process h2,.treatment-cta h2 { font-size:clamp(39px,4.5vw,68px); max-width:720px; }
.treatment-section-heading .section-label,.treatment-types-heading .section-label,.treatment-process-heading .section-label,.treatment-cta .section-label { margin-bottom:27px; }
.treatment-section-heading .section-label span,.treatment-types-heading .section-label span,.treatment-process-heading .section-label span,.treatment-cta .section-label span { color:var(--accent); margin-right:12px; }
.treatment-approach-copy { max-width:580px; padding-top:42px; }
.treatment-approach-copy p,.treatment-cta>div>p:not(.eyebrow) { color:#c2c8be; font-size:15px; line-height:1.85; }
.treatment-approach-copy p+p { margin-top:18px; }
.treatment-approach-copy .text-link { color:var(--paper); }
.treatment-types { color:var(--ink); background:var(--paper); }
.treatment-types .section-label span,.treatment-process .section-label span { color:#916c52; }
.treatment-types-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:52px; }
.treatment-types-heading>p { color:#5e675f; font-size:15px; line-height:1.8; max-width:320px; }
.treatment-type-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:25px; border-top:1px solid #11171345; }
.treatment-type { min-height:0; display:flex; flex-direction:column; align-items:flex-start; padding:24px 12px 22px 0; border-bottom:1px solid #11171345; }
.treatment-type figure { width:100%; aspect-ratio:1.28; position:relative; overflow:hidden; margin:0 0 22px; background:#e4e0d5; }
.treatment-type figure img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s; }
.treatment-type:hover figure img { transform:scale(1.025); }
.treatment-type figcaption { position:absolute; left:0; right:0; bottom:0; padding:26px 13px 10px; color:#fff; background:linear-gradient(transparent,#111713a8); font-size:12px; letter-spacing:.04em; }
.treatment-index { color:#806347; font-size:13px; letter-spacing:.12em; font-weight:700; }
.treatment-type h3 { font-size:clamp(27px,2.6vw,38px); margin-top:8px; }
.treatment-type>p:last-of-type { color:#5e675f; font-size:15px; line-height:1.8; max-width:400px; margin-top:12px; }
.type-rule { width:45px; height:2px; background:#9c795d; margin-top:20px; }
.treatment-note { grid-column:1/-1; margin:0; font-size:14px; line-height:1.75; color:#697067; }
.fabric-spec { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:20px 48px; border-top:1px solid #11171345; margin-top:35px; padding-top:28px; }
.fabric-copy .eyebrow { color:#806347; margin-bottom:8px; }
.fabric-copy h3 { font-size:25px; letter-spacing:-.02em; }
.fabric-copy>p:last-child { color:#5e675f; font-size:15px; line-height:1.75; max-width:450px; margin-top:8px; }
.fabric-swatches { display:grid; grid-template-columns:repeat(7,1fr); gap:10px; list-style:none; margin:0; padding:0; }
.fabric-swatches li { aspect-ratio:1; border:1px solid #11171332; box-shadow:inset 0 0 0 1px #ffffff70; }
.swatch-olive { background:#606448; }
.swatch-oat { background:#c8b8a4; }
.swatch-stone { background:#8b8880; }
.swatch-blue { background:#1a5366; }
.swatch-rust { background:#ad4029; }
.swatch-charcoal { background:#27282a; }
.swatch-ochre { background:#d49718; }
.treatment-process { background:#e6e3d9; color:var(--ink); display:grid; grid-template-columns:.9fr 1.1fr; gap:10vw; }
.treatment-process-heading { align-self:start; }
.treatment-process-heading>h2 { max-width:540px; }
.treatment-steps { list-style:none; margin:0; padding:0; border-top:1px solid #11171342; }
.treatment-steps li { display:grid; grid-template-columns:48px 1fr; gap:18px; padding:24px 0; border-bottom:1px solid #11171342; }
.treatment-steps li>span { color:#806347; font-size:13px; letter-spacing:.12em; padding-top:4px; }
.treatment-steps h3 { font-size:22px; letter-spacing:-.02em; }
.treatment-steps p { color:#596259; font-size:15px; line-height:1.8; max-width:570px; margin-top:8px; }
.treatment-steps p a { color:#674c35; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; font-weight:600; }
.treatment-steps p a:hover { color:#9b6a3e; }
.treatment-boundary { padding-top:55px; padding-bottom:55px; display:grid; grid-template-columns:.6fr 1.4fr; gap:7vw; align-items:center; background:var(--ink-soft); }
.treatment-boundary .eyebrow { color:var(--accent); }
.treatment-boundary>p:last-child { font-size:17px; line-height:1.75; max-width:850px; }
.treatment-cta { background:#26332a; display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:center; }
.treatment-cta h2 { max-width:620px; }
.treatment-cta .button { margin-top:25px; }
.treatment-cta .text-link { display:flex; width:fit-content; color:var(--paper); margin-top:22px; }
.treatment-contact { border-top:1px solid var(--line); }
.treatment-contact .footer-bottom>div { flex-wrap:wrap; justify-content:flex-end; }
@media(max-width:900px) {
  .treatment-hero { grid-template-columns:1fr 1fr; }
  .treatment-hero-copy { padding-right:35px; }
  .treatment-hero h1 { font-size:clamp(47px,6vw,68px); }
  .treatment-hero-image { min-height:520px; }
  .treatment-approach,.treatment-process,.treatment-cta { gap:6vw; }
  .treatment-approach-copy { padding-top:25px; }
  .treatment-types-heading { align-items:start; }
}
@media(max-width:650px) {
  .treatment-hero { display:flex; flex-direction:column; }
  .treatment-hero-copy { padding:53px var(--gutter) 45px; }
  .treatment-hero .eyebrow { margin-bottom:22px; }
  .treatment-hero h1 { font-size:clamp(43px,11.5vw,62px); }
  .treatment-deck { font-size:13px; margin-top:21px; }
  .treatment-actions { display:grid; justify-items:start; gap:20px; margin-top:26px; }
  .treatment-actions .button { font-size:12px; gap:18px; padding:14px 16px; }
  .treatment-hero-image { min-height:0; aspect-ratio:1.18; }
  .treatment-hero-image figcaption { padding:35px var(--gutter) 15px; }
  .treatment-approach,.treatment-process,.treatment-cta { display:block; }
  .treatment-approach { padding-top:65px; padding-bottom:70px; }
  .treatment-section-heading h2,.treatment-types h2,.treatment-process h2,.treatment-cta h2 { font-size:39px; }
  .treatment-approach-copy { padding-top:29px; }
  .treatment-approach-copy p,.treatment-cta>div>p:not(.eyebrow) { font-size:15px; }
  .treatment-types { padding-top:58px; padding-bottom:58px; }
  .treatment-types-heading { display:block; margin-bottom:35px; }
  .treatment-types-heading>p { margin-top:15px; font-size:15px; }
  .treatment-type-grid { display:block; }
  .treatment-type { min-height:0; padding:20px 0 24px; }
  .treatment-type figure { aspect-ratio:1.28; margin-bottom:18px; }
  .treatment-type h3 { margin-top:10px; font-size:30px; }
  .treatment-type>p:last-of-type { font-size:15px; margin-top:9px; }
  .treatment-type .type-rule { margin-top:17px; }
  .fabric-spec { display:block; margin-top:27px; padding-top:22px; }
  .fabric-copy>p:last-child { font-size:15px; }
  .fabric-swatches { margin-top:17px; gap:7px; }
  .treatment-note { margin-top:16px; font-size:13px; }
  .treatment-process { padding-top:58px; padding-bottom:58px; }
  .treatment-steps { margin-top:33px; }
  .treatment-steps li { grid-template-columns:34px 1fr; gap:12px; padding:20px 0; }
  .treatment-steps h3 { font-size:20px; }
  .treatment-steps p { font-size:15px; }
  .treatment-boundary { display:block; padding-top:42px; padding-bottom:42px; }
  .treatment-boundary>p:last-child { font-size:14px; margin-top:15px; }
  .treatment-cta { padding-top:58px; padding-bottom:58px; }
  .treatment-cta>div+div { margin-top:25px; }
  .treatment-cta .button { font-size:12px; padding:15px 19px; }
  .treatment-contact .footer-bottom>div { justify-content:space-between; }
}
