:root{color-scheme:light;--ink:#102b2c;--muted:#445a55;--paper:#f8f7ef;--green:#123b36;--gold:#f6ce64;--line:#d8dfd5}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,sans-serif}
a{color:inherit}
a:focus-visible{outline:3px solid #b97700;outline-offset:5px}
.skip{position:absolute;top:0;left:1rem;transform:translateY(-120%);background:white;padding:.5rem;z-index:3}
.skip:focus{transform:none}
.wrap{max-width:1320px;margin-inline:auto;padding-inline:clamp(20px,5vw,72px)}
.top,.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:22px}
.top nav{display:flex;gap:clamp(15px,3vw,36px);flex-wrap:wrap}
.top nav a,.footer a{text-decoration:none}
.top nav a:hover,.footer a:hover{text-decoration:underline}
.brand{font-weight:850;letter-spacing:-.035em;text-decoration:none;white-space:nowrap}
.brand span:last-child{color:#24776a}
.sun{color:#966100;margin-right:.3em;font-size:1.25em}
.phone{font-weight:750;text-decoration:none;border:1px solid var(--line);padding:9px 15px;border-radius:30px;white-space:nowrap}
.hero{display:grid;grid-template-columns:1fr 1.08fr;gap:clamp(20px,4vw,64px);align-items:center;padding-block:clamp(32px,5vw,68px) clamp(48px,7vw,90px)}
.eyebrow{font-size:.76rem;letter-spacing:.17em;font-weight:800;margin:0 0 14px;color:#276b5b}
h1,h2,h3,p,figure{margin:0}
h1{font-size:clamp(46px,6.3vw,94px);line-height:.99;letter-spacing:-.078em;font-weight:750}
h1 em{font-family:Georgia,serif;font-weight:400;color:#24776a;letter-spacing:-.075em}
.intro{max-width:470px;color:var(--muted);font-size:1.14rem;margin-top:23px}
.actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:26px}
.button{background:var(--gold);color:#182c26;text-decoration:none;font-weight:800;border-radius:6px;padding:13px 18px;display:inline-flex;gap:14px;align-items:center}
.button:hover{background:#ffde85}
.plain{font-size:.9rem;font-weight:700;text-underline-offset:4px}
.hero-image{position:relative;border-radius:15px;overflow:hidden;aspect-ratio:1.2;background:#d7dec9}
.hero-image img{width:100%;height:100%;display:block;object-fit:cover}
figcaption{position:absolute;bottom:15px;left:15px;padding:8px 12px;background:#102b2c;color:white;border-radius:4px;font-size:.67rem;font-weight:800;letter-spacing:.09em}
.dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--gold)}
.solutions{background:#edf1e8;padding-block:clamp(45px,7vw,90px)}
h2{font-size:clamp(32px,4.5vw,59px);line-height:1.07;letter-spacing:-.06em;font-weight:750}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:29px}
.cards article{display:flex;flex-direction:column;align-items:flex-start;padding:22px;background:#fcfcf7;border:1px solid var(--line);border-radius:10px}
.number{font-weight:800;color:#276b5b;font-size:.78rem;border:1px solid var(--line);padding:4px 9px;border-radius:4px;margin-bottom:23px}
h3{font-size:1.17rem;line-height:1.25}
.cards p,.process li p{color:var(--muted);margin-top:10px}
.cards a{font-weight:700;font-size:.86rem;margin-top:auto;padding-top:18px;text-underline-offset:4px}
.process{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,7vw,100px);padding-block:clamp(44px,8vw,100px)}
.process ol{margin:0;padding:0;list-style:none;counter-reset:step}
.process li{position:relative;padding:17px 0 17px 49px;border-top:1px solid var(--line);counter-increment:step}
.process li::before{content:"0" counter(step);position:absolute;left:0;color:#276b5b;font-weight:800}
.contact{background:var(--green);color:#fff;padding-block:clamp(40px,7vw,76px)}
.contact .eyebrow{color:#f6ce64}
.contact h2+p{margin-top:15px;color:#e0eae3}
.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:23px}
.contact-actions{display:grid;gap:9px;justify-items:start;flex-shrink:0}
.footer{flex-wrap:wrap;font-size:.9rem}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.top{display:grid;grid-template-columns:1fr auto;gap:10px}.top nav{grid-row:2;grid-column:1/-1;font-size:.9rem}.phone{font-size:.82rem;padding:5px 8px}.hero,.process{grid-template-columns:1fr}.hero-image{aspect-ratio:1.45}.contact-inner{align-items:flex-start;flex-direction:column}.cards article{padding:16px}}
@media(max-width:370px){.cards{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
