:root{--forest:#173D32;--yellow:#F4C542;--sage:#E8EEE7;--paper:#F7F8F4;--body:#20352D;--muted:#52635A}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font:16px/1.6 Archivo,Arial,sans-serif;color:var(--body);background:white}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid #ff6633;outline-offset:3px}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}header{position:sticky;top:0;z-index:10;background:white;box-shadow:0 2px 12px #173d3215}.nav{height:78px;display:flex;align-items:center;gap:28px}.logo{width:235px}.nav nav{display:flex;gap:28px;margin-left:auto}.nav nav a,footer nav a{text-decoration:none;font-weight:700;font-size:.9rem}.nav nav a:hover,footer a:hover{color:#ff6633}.button{display:inline-block;background:var(--yellow);color:var(--forest);border:0;border-radius:4px;padding:14px 20px;text-decoration:none;font-weight:800;cursor:pointer;line-height:1.2}.button:hover{background:#E8B52E}.menu{display:none;background:none;border:0;font-size:1.6rem;color:var(--forest);cursor:pointer}.hero{background:var(--paper)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:610px;align-items:stretch}.hero-text{padding:95px 50px 80px 0;align-self:center}.hero img{width:100%;height:100%;object-fit:cover}.tag{text-transform:uppercase;letter-spacing:.11em;color:var(--forest);font-size:.73rem;font-weight:800;margin:0 0 18px}h1,h2,h3{color:var(--forest);line-height:1.08;letter-spacing:-.035em;margin:0 0 20px}h1{font-size:clamp(3rem,5.4vw,5.3rem)}h2{font-size:clamp(2rem,3.3vw,3.3rem);text-wrap:balance}h3{font-size:1.2rem}.lead{font-size:1.1rem;color:var(--muted);max-width:58ch}.promise,.launch{font-weight:700;font-size:.88rem;margin:24px 0 0}.launch{color:var(--muted)}.section{padding:100px 0}.sage{background:var(--sage)}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.checks{padding:0;list-style:none;display:grid;gap:16px}.checks li:before{content:'✓';display:inline-grid;place-items:center;background:var(--yellow);border-radius:50%;width:25px;height:25px;margin-right:12px;font-weight:800}.feature{background:var(--forest);color:white}.feature img{width:100%;height:260px;object-fit:cover}.feature div{padding:30px 34px}.feature .tag{color:var(--yellow)}blockquote{font-size:1.8rem;line-height:1.15;font-weight:800;margin:0 0 18px}.feature p{margin-bottom:0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:36px}.section-head>p{color:var(--muted);max-width:48ch}.services{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.services article{background:white;padding-bottom:20px}.services img{width:100%;height:170px;object-fit:cover}.services h3,.services p{margin:18px 18px 0}.services p{font-size:.87rem;color:var(--muted)}.more{margin:30px 0 0;font-weight:700}.steps,.standards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.steps article,.standards div{background:var(--paper);padding:28px}.steps span{display:block;color:var(--muted);font-size:.8rem;font-weight:800;margin-bottom:25px}.steps p,.standards p{color:var(--muted);margin:0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.gallery img{width:100%;height:250px;object-fit:cover}.rate{background:white;padding:38px}.rate-top{display:flex;align-items:center;gap:20px;line-height:1.3}.rate-top strong{font-size:5rem;line-height:1;color:var(--forest)}dl{margin:28px 0}dl div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-top:1px solid #d5ded7}dt{font-weight:800}dd{margin:0;color:var(--muted)}.standards{grid-template-columns:repeat(2,1fr)}.standards b{color:var(--forest)}.standards p{font-size:.9rem;margin-top:8px}.note{background:var(--sage);padding:20px;color:var(--muted)}form{background:white;padding:36px}fieldset{border:0;padding:0;margin:0 0 24px}legend,label{font-weight:800;font-size:.9rem;margin-bottom:10px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips button{border:1px solid #a9bbb0;background:white;color:var(--forest);border-radius:30px;padding:8px 12px;cursor:pointer}.chips button[aria-pressed=true]{background:var(--forest);color:white}label{display:block}textarea,input{display:block;width:100%;padding:12px;border:1px solid #a9bbb0;margin-bottom:20px;background:var(--paper);color:var(--body)}textarea{min-height:120px;resize:vertical}#status{margin-bottom:0}.faqs details{border-top:1px solid #c9d5cd;padding:20px 0}.faqs summary{font-weight:800;cursor:pointer}.faqs p{color:var(--muted)}footer{background:var(--forest);color:white;padding:65px 0 30px}.footer{display:grid;grid-template-columns:1fr auto;gap:25px}.footer img{width:250px;background:white;padding:10px}.footer p{max-width:55ch;color:#e0eae3}.footer nav{display:flex;gap:20px}.sources{grid-column:1/-1;font-size:.75rem;border-top:1px solid #ffffff44;padding-top:24px}.menu-open nav{display:flex}@media(max-width:900px){.nav nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:24px;flex-direction:column;box-shadow:0 10px 12px #0002}.nav .button{margin-left:auto}.menu{display:block}.services{grid-template-columns:repeat(2,1fr)}.hero-grid{min-height:0}.hero-text{padding:70px 25px 70px 0}.split{gap:35px}.gallery img{height:180px}}@media(max-width:600px){.wrap{width:calc(100% - 32px)}.nav{height:68px;gap:12px}.logo{width:160px}.nav nav{top:68px}.nav .button{padding:11px 14px}.hero-grid{display:flex;flex-direction:column-reverse;width:100%}.hero img{height:270px}.hero-text{padding:42px 16px 52px}h1{font-size:clamp(2.5rem,10vw,3.3rem)}h2{font-size:clamp(1.65rem,6vw,2.1rem)}.section{padding:65px 0}.split,.section-head{grid-template-columns:1fr;gap:25px}.services{grid-template-columns:1fr 1fr}.services img{height:130px}.services h3{font-size:1rem}.steps{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img{height:160px}.footer{grid-template-columns:1fr}.standards{gap:8px}.standards div{padding:18px}form,.rate{padding:24px}.rate-top strong{font-size:4rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(min-width:601px){.split h2{font-size:clamp(1.6rem,2.4vw,2.35rem)}}
.gallery-caption{margin:0;padding:8px 24px;background:var(--paper);text-align:right;color:var(--muted);font-size:.72rem}
.feature{border-radius:8px;overflow:hidden;box-shadow:0 16px 36px #173d321a}.feature img{height:280px}.feature div{padding:32px 36px 30px}.feature blockquote{max-width:22ch}.image-credit{display:block;margin-top:20px;color:#d9e6df;font-size:.7rem}
.image-note{margin:12px 0 0;color:var(--muted);font-size:.72rem}.process-intro{display:block;max-width:700px;margin-bottom:38px}.process-intro h2{margin-bottom:16px}.process-intro>p{max-width:58ch;margin:0}.steps article{border-radius:6px}.steps span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--yellow);color:var(--forest);margin-bottom:25px}
.insurance-disclosure{margin:24px 0 0;color:var(--body);font-size:.95rem}
.lamp-specialty{background:var(--forest);color:#fff;padding:38px 42px;margin-top:28px;border-radius:6px}.lamp-specialty>div{max-width:760px}.lamp-specialty h3{color:#fff;font-size:clamp(1.5rem,2.2vw,2rem);margin-bottom:14px}.lamp-specialty p{margin:0 0 15px}.lamp-specialty .specialty-tag{color:var(--yellow);font-size:.73rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.lamp-specialty .lamp-rate{font-weight:800}.more-heading{font-weight:800;color:var(--forest);margin:28px 0 6px}.more{margin:0}.service-detail{color:var(--muted);font-size:.9rem;margin:12px 0 0}.services article:last-child h3{font-size:clamp(.85rem,1.1vw,1.05rem)}@media(max-width:600px){.lamp-specialty{padding:26px}.services article:last-child h3{font-size:1rem}}
@media(min-width:901px) and (max-width:1199px){.services{grid-template-columns:repeat(3,1fr)}.services article:last-child h3{font-size:1.05rem}}
@media(max-width:600px){.services{grid-template-columns:1fr}.services img{height:190px}}
/* A quieter rate presentation, with the terms easy to scan. */
#pricing .rate{border-radius:8px;padding:34px 38px;background:#fff;box-shadow:0 10px 30px rgba(23,61,50,.06)}
#pricing .rate-top{gap:14px;align-items:baseline}
#pricing .rate-top strong{font-size:clamp(2.5rem,3vw,3.25rem);letter-spacing:-.035em}
#pricing .rate-top span{font-size:.95rem}
#pricing dl{margin:22px 0}
@media(max-width:600px){#pricing .rate{padding:26px}}

.hero-image{position:relative;margin:0;min-width:0}.hero-image img{object-position:20% center}
