/* Kelly's service page uses the existing GFPT identity, with its own responsive layout. */
.lymphedema-page{--lm-paper:#faf9f5;--lm-ink:#173f33;--lm-muted:#52635c;--lm-line:#dce2db;--lm-soft:#edf1e9;background:var(--lm-paper);color:var(--lm-ink);font-size:17px;line-height:1.65}
.lymphedema-page p{color:inherit}
.lm-shell{width:min(1180px,calc(100% - 80px));margin-inline:auto}
.lm-main :is(h1,h2,h3){letter-spacing:-.035em;font-weight:400;color:var(--lm-ink)}
.lm-main em{font-weight:400;color:#50705c}
.lm-main .lm-label{font-size:11px;letter-spacing:.13em;line-height:1.6;font-weight:700;text-transform:uppercase;color:var(--lm-muted)}
.lm-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center;padding-block:54px 50px}
.lm-hero h1{font-size:clamp(42px,4.3vw,60px);line-height:1.08;margin-top:23px;max-width:none}
.lm-hero-lede{font-size:19px;line-height:1.65;max-width:34ch;margin-top:25px!important;color:var(--lm-muted)!important}
.lm-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}
.lm-button{display:inline-flex;gap:26px;align-items:center;justify-content:center;padding:16px 22px;min-height:54px;border-radius:4px;background:#173f33;color:#fff;text-decoration:none;font-size:14px;font-weight:700;transition:background .15s}
.lm-button:hover{background:#2d5b46}
.lm-button span{font-size:22px;line-height:1}
.lm-call{font-size:14px;font-weight:600;text-underline-offset:5px}
.lm-hero .lm-service-area{font-size:12px;color:var(--lm-muted);max-width:37ch;line-height:1.6;margin-top:26px}
.lm-hero-portrait{position:relative;margin:0;border-radius:5px;overflow:hidden;aspect-ratio:4/5;max-height:610px}
.lm-hero-portrait>img{width:100%;height:100%;object-fit:cover;object-position:center}
.lm-hero-portrait figcaption{position:absolute;bottom:20px;left:20px;right:20px;display:grid;gap:3px;padding:17px 22px;background:#fffdf5;box-shadow:0 8px 30px #173f3314;border-left:3px solid #c6a756;color:#173f33}
.lm-hero-portrait figcaption span{font-size:10px;letter-spacing:.1em;line-height:1.6}
.lm-hero-portrait figcaption strong{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:25px;line-height:1.3}
.lm-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-block:1px solid var(--lm-line);padding-block:22px}
.lm-trust p{display:flex;gap:15px;align-items:center;font-size:13px;font-weight:600;line-height:1.5}
.lm-trust span{font-size:11px;color:#9a7d35;letter-spacing:.05em}
.lm-section{padding-block:85px}
.lm-main h2{font-size:clamp(34px,3.4vw,46px);line-height:1.15;margin-top:14px}
.lm-section-heading{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:40px}
.lm-section-heading>p{max-width:46ch;color:var(--lm-muted);font-size:16px}
.lm-symptoms{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--lm-line)}
.lm-symptoms article{padding:27px 28px 0 0}
.lm-symptoms article+article{padding-left:28px;border-left:1px solid var(--lm-line)}
.lm-number{font-size:11px;letter-spacing:.08em;color:#8b753d}
.lm-main h3{font-size:27px;line-height:1.2;margin-top:18px;max-width:17ch}
.lm-symptoms p{font-size:15px;margin-top:14px;line-height:1.7;color:var(--lm-muted)}
.lm-note{display:flex;gap:16px;align-items:center;padding:20px 24px;background:var(--lm-soft);margin-top:34px;border-radius:4px}
.lm-note>span{font-size:28px;color:#55705c}
.lm-note p{font-size:14px;color:var(--lm-muted)}
.lm-note a{font-weight:600;color:var(--lm-ink);text-underline-offset:4px}
.lm-treatment{background:#173f33;color:#e9ede8;padding-block:80px}
.lm-split{display:grid;grid-template-columns:.95fr 1.05fr;gap:100px}
.lm-treatment .lm-label{color:#d8c48e}
.lm-treatment h2{color:#fffdf5}
.lm-treatment h2 em{color:#c9d8c6}
.lm-treatment-intro>p:not(.lm-label){margin-top:23px;max-width:35ch;font-size:16px;color:#cedbcf}
.lm-link{display:inline-flex;align-items:center;gap:18px;min-height:44px;font-size:14px;font-weight:600;text-underline-offset:6px}
.lm-treatment .lm-link{color:#fff7da;margin-top:26px}
.lm-care-list{margin:0}
.lm-care-list>div{padding:24px 0;border-bottom:1px solid #ffffff26}
.lm-care-list>div:first-child{padding-top:0}
.lm-care-list dt{font-family:Georgia,'Times New Roman',serif;color:#fffdf5;font-size:25px;line-height:1.2;letter-spacing:-.02em}
.lm-care-list dd{margin:10px 0 0;font-size:15px;line-height:1.7;color:#cedbcf}
.lm-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;counter-reset:step;margin:0}
.lm-steps>div{border-top:1px solid var(--lm-line);padding-top:24px;counter-increment:step}
.lm-steps dt{font-family:Georgia,'Times New Roman',serif;font-size:25px;letter-spacing:-.02em;line-height:1.2}
.lm-steps dt:before{content:'0' counter(step);display:block;font-family:Arial,sans-serif;font-size:11px;letter-spacing:.06em;color:#8b753d;margin-bottom:20px}
.lm-steps dd{margin:14px 0 0;font-size:15px;color:var(--lm-muted)}
.lm-faq-band{background:var(--lm-soft);padding-block:74px}
.lm-faq-intro{font-size:16px;color:var(--lm-muted)!important;margin-top:24px!important;max-width:30ch}
.lm-faq details{border-bottom:1px solid var(--lm-line)}
.lm-faq details:first-child{border-top:1px solid var(--lm-line)}
.lm-faq summary{display:flex;justify-content:space-between;gap:18px;align-items:center;font-size:16px;line-height:1.5;font-weight:600;cursor:pointer;list-style:none;padding:20px 0;min-height:60px}
.lm-faq summary::-webkit-details-marker{display:none}
.lm-faq summary:after{content:'+';font-size:23px;font-weight:400}
.lm-faq details[open] summary:after{content:'−'}
.lm-faq details>p{padding:0 26px 22px 0;font-size:15px;color:var(--lm-muted)}
.lm-final{padding-block:84px;text-align:center}
.lm-final h2{max-width:none;font-size:clamp(38px,4.6vw,58px)}
.lm-final>div>p:not(.lm-label){max-width:62ch;margin:24px auto 0;color:var(--lm-muted);font-size:16px}
.lm-final .lm-actions{justify-content:center}
.lymphedema-page :is(a,summary):focus-visible{outline:3px solid #b08417;outline-offset:5px}
html[data-theme='dark'] .lymphedema-page{--lm-paper:#071527;--lm-ink:#f3f1e8;--lm-muted:#bccdc9;--lm-line:#ffffff26;--lm-soft:#0d2238}
html[data-theme='dark'] .lm-main em{color:#baceba}
html[data-theme='dark'] .lm-button{background:#d9b44d;color:#071527}
html[data-theme='dark'] .lm-button:hover{background:#edca68}
html[data-theme='dark'] .lm-treatment{background:#102d29}
html[data-theme='dark'] .lm-hero-portrait figcaption{background:#0d2238;color:#f3f1e8}
@media(max-width:1000px){.lm-hero{gap:40px}.lm-hero h1{font-size:49px}.lm-split,.lm-section-heading{gap:48px}.lm-shell{width:calc(100% - 56px)}}
@media(max-width:760px){.lm-shell{width:calc(100% - 40px)}.lm-hero{grid-template-columns:1fr;gap:34px;padding-block:35px}.lm-hero h1{font-size:clamp(39px,9.5vw,60px);max-width:12ch;margin-top:16px}.lm-hero-lede{font-size:17px;margin-top:20px!important}.lm-hero .lm-service-area{margin-top:20px;max-width:none}.lm-actions{gap:18px;margin-top:24px}.lm-hero-portrait{max-height:540px;width:100%;aspect-ratio:4/5}.lm-trust{gap:14px;padding-block:20px}.lm-trust p{display:block;font-size:11px}.lm-trust span{display:block;margin-bottom:7px}.lm-section{padding-block:54px}.lm-section-heading,.lm-split{grid-template-columns:1fr;gap:22px}.lm-section-heading{margin-bottom:28px}.lm-main h2{font-size:36px}.lm-symptoms,.lm-steps{grid-template-columns:1fr;gap:0}.lm-symptoms article,.lm-symptoms article+article{padding:24px 0;border-left:0;border-bottom:1px solid var(--lm-line)}.lm-main h3{margin-top:10px;max-width:none;font-size:26px}.lm-note{padding:16px;align-items:flex-start;margin-top:26px}.lm-treatment{padding-block:52px}.lm-treatment .lm-split{gap:40px}.lm-treatment-intro>p:not(.lm-label){max-width:none}.lm-steps>div{padding-block:22px}.lm-steps dt:before{margin-bottom:12px}.lm-faq-band{padding-block:52px}.lm-faq-band .lm-split{gap:32px}.lm-faq-intro{max-width:none}.lm-final{padding-block:56px}.lm-final h2{font-size:39px}.lm-final .lm-actions{gap:14px}.lm-hero-portrait figcaption{bottom:14px;left:14px;right:14px}.lm-hero-portrait figcaption strong{font-size:24px}}
@media(max-width:360px){.lm-shell{width:calc(100% - 32px)}.lm-hero h1{font-size:37px}.lm-actions{gap:12px}.lm-button{gap:20px;padding-inline:18px}.lm-trust{gap:10px}}
@media(prefers-reduced-motion:reduce){.lm-button{transition:none}}
