*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f5efe3;color:#122b22;line-height:1.6}.topbar{position:sticky;top:0;z-index:10;background:rgba(18,43,34,.95);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;padding:12px 6%;box-shadow:0 8px 30px rgba(0,0,0,.18)}.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-weight:900}.brand img{width:54px;height:54px;object-fit:contain;border-radius:50%;background:#fff;padding:3px}nav{display:flex;align-items:center;gap:20px}nav a{color:#fff;text-decoration:none;font-weight:800}.nav-call{background:#d69635;color:#122b22;padding:10px 16px;border-radius:999px}.hero{min-height:88vh;padding:80px 6%;display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center;background:linear-gradient(120deg,rgba(12,40,31,.92),rgba(12,40,31,.75)),url('island-roots-logo.jpeg');background-size:cover;background-position:center;color:#fff}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-weight:900;color:#d69635;margin:0 0 10px}h1{font-size:clamp(2.5rem,6vw,5.4rem);line-height:1;margin:0 0 20px}.lead{font-size:1.25rem;max-width:680px;color:#fff4df}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;text-decoration:none;font-weight:900;border-radius:999px;padding:15px 22px}.btn-primary{background:#d69635;color:#102820}.btn-outline{border:2px solid #fff;color:#fff}.hero-card{background:#fff;color:#122b22;border-radius:28px;padding:28px;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.35)}.hero-card img{width:100%;max-width:330px;border-radius:22px}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d7c6a8}.trust div{background:#fff;padding:26px 6%;text-align:center}.trust strong{display:block;font-size:1.2rem}.trust span{color:#4e665c}.section{padding:82px 6%;max-width:1250px;margin:auto}.section-head{text-align:center;max-width:760px;margin:0 auto 35px}.section h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:0 0 14px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-grid article{background:#fff;border-radius:24px;padding:26px;box-shadow:0 18px 45px rgba(18,43,34,.12);border:1px solid rgba(18,43,34,.08)}.service-grid span{font-size:2rem}.service-grid h3{margin-bottom:8px}.dark{max-width:none;background:#122b22;color:#fff}.dark .section-head{color:#fff}.gallery{max-width:1250px;margin:auto;display:grid;gap:44px}.project{min-width:0;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.15);border-radius:22px;padding:24px}.project h3{margin:0 0 22px;color:#ffe5b0;font-size:1.5rem}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.photo-group{min-width:0}.photo-group h4{margin:0 0 12px;font-size:1.1rem;color:#ffe5b0}.project-photos{display:grid;gap:16px}.project figure{margin:0;overflow:hidden;border-radius:14px;background:#0e221b}.project a{display:block}.project a:focus-visible{outline:3px solid #d69635;outline-offset:3px}.project img{display:block;width:100%;height:auto}.project figcaption{font-size:.9rem;padding:12px 14px;color:#dce5df}.project a:hover img{filter:brightness(1.06)}.estimate{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:start}.phone-list{display:flex;flex-direction:column;gap:12px;margin-top:20px}.phone-list a{background:#122b22;color:#fff;text-decoration:none;padding:16px 20px;border-radius:16px;font-weight:900;text-align:center}form{background:#fff;border-radius:26px;padding:26px;box-shadow:0 18px 45px rgba(18,43,34,.12)}label{display:block;font-weight:900;margin-bottom:14px}input,select,textarea{width:100%;margin-top:6px;padding:14px;border:1px solid #c8c0b2;border-radius:14px;font:inherit}textarea{min-height:130px}button{width:100%;border:0;background:#d69635;color:#122b22;font-weight:900;padding:16px;border-radius:999px;font-size:1rem;cursor:pointer}.form-note{font-size:.9rem;color:#607166}.map-section{text-align:center;padding:70px 6%;background:#fff}.map-section iframe{width:min(100%,950px);height:360px;border:0;border-radius:24px;box-shadow:0 16px 45px rgba(18,43,34,.16)}footer{text-align:center;background:#0e221b;color:#fff;padding:44px 6%}footer img{width:110px;border-radius:50%;background:#fff;padding:4px}footer a{color:#f1c777}.copy{color:#b9c7c0}@media(max-width:900px){.topbar{position:relative;align-items:flex-start;flex-direction:column}nav{flex-wrap:wrap}.hero,.estimate{grid-template-columns:1fr}.trust,.service-grid,.gallery{grid-template-columns:1fr}.hero{padding-top:48px}}
@media(max-width:600px){.comparison{grid-template-columns:1fr}.project{padding:16px}.gallery{gap:28px}}

.drain-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}@media(max-width:700px){.drain-photos{grid-template-columns:1fr}}

.reviews-section{border-top:1px solid #d7c6a8}.review-form{max-width:700px;margin:auto}.review-form>label{margin:18px 0 0}.review-form>input,.review-form>select,.review-form>textarea{display:block}.rating-field{border:0;padding:0;margin:0 0 20px;min-width:0}.rating-field legend{font-weight:900}.rating-field legend span,.field-hint{font-weight:400;font-size:.9rem;color:#4e665c}.star-rating{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.star-choice{position:relative;display:block;margin:0;cursor:pointer}.star-choice input{position:absolute;opacity:0;width:1px;height:1px;padding:0;margin:0}.star-choice span{display:flex;align-items:center;justify-content:center;width:48px;height:54px;font-size:2.7rem;line-height:1;color:#78857e;border-radius:8px}.star-choice input:checked+span,.star-choice .is-selected{color:#aa6c10}.star-choice input:focus-visible+span{outline:3px solid #122b22;outline-offset:2px}.rating-description{margin:8px 0 0;font-size:.95rem;color:#4e665c}.review-form button{margin-top:10px}.thank-you{min-height:100vh;display:grid;place-items:center;padding:24px}.thank-you main{background:#fff;border-radius:24px;padding:36px;max-width:620px;text-align:center;box-shadow:0 18px 45px rgba(18,43,34,.12)}

.testimonials{max-width:900px;margin:0 auto 40px}.testimonials>h3{text-align:center;font-size:1.6rem}.review-card{background:#fff;border-radius:22px;padding:clamp(22px,4vw,36px);border:1px solid #d7c6a8;box-shadow:0 12px 32px rgba(18,43,34,.07)}.review-stars{color:#a96a0b;letter-spacing:4px;font-size:1.8rem;margin:0 0 12px}.review-card blockquote{margin:0;font-size:1.1rem;overflow-wrap:anywhere}.review-card blockquote p{margin:0}.review-author{margin:20px 0 0}.review-author span{color:#4e665c}

.email-link{overflow-wrap:anywhere;word-break:break-word}

.testimonials .review-card+.review-card{margin-top:20px}
