.restoration-callout { position:relative; isolation:isolate; overflow:hidden; color:#fff; background:linear-gradient(115deg,#102a24 0%,#164833 72%,#216543 100%); }
.restoration-callout::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.35; background:radial-gradient(ellipse at 65% 0%,#7bbf74 0%,transparent 50%); animation:restoration-light 16s ease-in-out infinite alternate; }
.restoration-callout::after { content:""; display:block; height:4px; background:linear-gradient(90deg,#9ed977,#d5e998,#9ed977); background-size:200% 100%; animation:restoration-rail 9s linear infinite; }
.restoration-callout__grid { display:grid; gap:1.5rem; align-items:center; padding-block:clamp(2.3rem,5vw,4rem); }
.restoration-eyebrow { color:#266849; font-size:.875rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.restoration-callout .restoration-eyebrow { color:#cae899; }
.restoration-callout h2 { max-width:55rem; margin:.55rem 0 .8rem; color:#fff; font-size:clamp(2.1rem,4.3vw,4.3rem); line-height:1.06; }
.restoration-callout p:not(.restoration-eyebrow) { max-width:46rem; color:#e5f0e7; font-size:clamp(1rem,1.5vw,1.18rem); line-height:1.6; }
.restoration-callout__link { display:inline-flex; width:max-content; align-items:center; gap:.55rem; margin-top:1.3rem; padding:.9rem 1.3rem; border-radius:.55rem; background:#d5e998; color:#183827; font-weight:700; text-decoration:none; }
.restoration-callout__link:hover,.restoration-callout__link:focus-visible { background:#fff; color:#123325; }
.restoration-callout__link:focus-visible,.restoration-action a:focus-visible,.restoration-back:focus-visible { outline:3px solid #e8af5b; outline-offset:3px; }
.restoration-callout__metric { display:none; border-left:1px solid rgb(226 245 211 / .4); padding-left:2rem; color:#fff; }
.restoration-callout__metric strong { display:block; font-family:"DM Serif Display",serif; font-size:clamp(5rem,9vw,9rem); line-height:.85; font-weight:400; }
.restoration-callout__metric span { display:block; margin-top:1rem; color:#d5e998; font-size:.8rem; font-weight:700; letter-spacing:.12em; line-height:1.5; text-transform:uppercase; }
@media(min-width:900px){.restoration-callout__grid{grid-template-columns:minmax(0,1fr) auto;gap:3rem}.restoration-callout__metric{display:block}}
@keyframes restoration-light { from {transform:translateX(-10%)} to {transform:translateX(12%)} }
@keyframes restoration-rail { to {background-position:200% 0} }
@media(prefers-reduced-motion:reduce){.restoration-callout::before,.restoration-callout::after{animation:none}}
.restoration-feature { overflow:hidden; border:1px solid #d4e2d8; border-radius:1.1rem; background:#fff; box-shadow:0 10px 30px rgb(25 70 45 / .07); }
.restoration-feature__copy { padding:clamp(1.5rem,4vw,2.5rem); }
.restoration-feature__copy h2 { margin:.6rem 0 1rem; color:#164c38; line-height:1.17; }
.restoration-feature__copy p { margin-bottom:1.25rem; color:#41574b; line-height:1.65; }
.restoration-feature__image img { display:block; width:100%; height:100%; min-height:220px; object-fit:cover; }
.restoration-feature__image figcaption { padding:.5rem 1rem; background:#f0f4f1; color:#405649; font-size:.8rem; line-height:1.35; }
@media(min-width:768px){.restoration-feature {display:grid;grid-template-columns:1.08fr .92fr}.restoration-feature__image{display:flex;flex-direction:column}.restoration-feature__image picture{flex:1}}
.restoration-story { padding-block:clamp(2rem,6vw,5rem); }
.restoration-story__intro { max-width:53rem; margin-inline:auto; }
.restoration-story__intro h1 { color:#164c38; font-size:clamp(2.4rem,6vw,4.6rem); line-height:1.08; margin:.65rem 0 1rem; }
.restoration-story__lead { color:#344d40; font-size:clamp(1.12rem,2vw,1.35rem); line-height:1.55; }
.restoration-story__date { margin-top:1.5rem; color:#5b6d62; font-size:.875rem; }
.restoration-story__figure { max-width:66rem; margin:2.5rem auto; }
.restoration-story__figure img { width:100%; height:auto; display:block; border-radius:.85rem; }
.restoration-story__figure figcaption { margin-top:.65rem; color:#526459; font-size:.875rem; line-height:1.4; }
.restoration-story__body { max-width:49rem; margin-inline:auto; color:#283c32; font-size:1.05rem; line-height:1.85; }
.restoration-story__body p { margin:0 0 1.5rem; }
.restoration-story__body h2 { color:#164c38; font-size:clamp(1.55rem,3vw,2.1rem); margin:2.2rem 0 .7rem; line-height:1.2; }
.restoration-story__reel { margin:2rem 0 2.7rem; padding:1.5rem; border-radius:.8rem; background:#f0f5f1; }
.restoration-story__reel h2 { margin:0 0 .45rem; }
.restoration-story__reel p { margin:0 0 1.2rem; color:#40564a; }
.restoration-story__reel .instagram-media { margin:0 auto !important; min-width:0 !important; max-width:540px !important; width:100% !important; }
.restoration-story__reel a { color:#165039; font-weight:700; text-decoration:underline; text-underline-offset:.2em; }
.restoration-story__reel a:focus-visible { outline:3px solid #e8af5b; outline-offset:3px; }
.restoration-action { max-width:54rem; margin:3rem auto 0; padding:clamp(1.5rem,4vw,2.6rem); background:#e9f1eb; border-left:5px solid #266849; border-radius:.7rem; }
.restoration-action h2 { color:#164c38; font-size:clamp(1.6rem,3vw,2rem); margin:0 0 .7rem; }
.restoration-action p { color:#344c41; line-height:1.65; }
.restoration-action__links { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:1.4rem; }
.restoration-action a { display:inline-block; background:#165039; color:#fff; padding:.85rem 1.15rem; border-radius:.55rem; text-decoration:none; font-weight:700; }
.restoration-action a:hover { background:#0c3828; color:#fff; }
.restoration-action a:last-child { background:#fff; color:#165039; border:1px solid #165039; }
.restoration-action a:last-child:hover { background:#d9eadf; }
.restoration-back { display:inline-block; margin:2rem 0 0; color:#165039; font-weight:700; }
