:root{--green:#063d2d;--green-bright:#08785a;--ink:#132019;--cream:#f5f3ed;--white:#fff;--line:#13201929}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--cream);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit}img{max-width:100%;display:block}.site-header{background:var(--white);border-bottom:1px solid var(--line);z-index:10;align-items:center;gap:36px;min-height:88px;padding:10px clamp(20px,5vw,72px);display:flex;position:relative}.brand{margin-right:auto}.brand img{object-fit:cover;object-position:center;width:220px;height:66px}nav{gap:30px;display:flex}nav a{letter-spacing:.04em;font-size:.88rem;font-weight:700;text-decoration:none}nav a:hover{color:var(--green-bright)}.button{border:2px solid var(--green-bright);background:var(--green-bright);min-height:52px;color:var(--white);text-transform:uppercase;letter-spacing:.055em;justify-content:center;align-items:center;padding:13px 24px;font-weight:800;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover{background:#09684f;transform:translateY(-2px)}.button-small{min-height:44px;padding:9px 18px;font-size:.84rem}.button-ghost{background:0 0;border-color:#fffc}.button-ghost:hover{background:#ffffff1f}.button-outline{background:0 0;border-color:#fffc}.button-outline:hover{background:#ffffff1f}.hero{min-height:700px;color:var(--white);align-items:center;display:grid;position:relative;overflow:hidden}.hero-photo,.hero-overlay{position:absolute;inset:0}.hero-photo{background:url(/assets/walk-in-shower.jpeg) 50% 44%/cover no-repeat;transform:scale(1.015)}.hero-overlay{background:linear-gradient(90deg,#021d1af0 0%,#023023c7 46%,#0218122e 78%)}.hero-content{z-index:2;width:min(760px,90%);margin-left:clamp(20px,8vw,130px);padding:80px 0 130px;position:relative}.eyebrow{color:#8fe1c9;letter-spacing:.17em;text-transform:uppercase;margin:0 0 18px;font-size:.78rem;font-weight:800}.eyebrow.dark{color:var(--green-bright)}h1,h2,h3{letter-spacing:-.035em;margin:0;line-height:1.05}h1{max-width:680px;font-size:clamp(3.15rem,7vw,6.7rem)}h2{font-size:clamp(2.25rem,4.3vw,4.25rem)}h3{font-size:1.45rem}.hero-copy{color:#ffffffe0;max-width:650px;margin:25px 0 30px;font-size:clamp(1.08rem,2vw,1.3rem)}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.trust-strip{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-transform:uppercase;letter-spacing:.18em;background:#033023e6;justify-content:center;align-items:center;gap:clamp(14px,4vw,54px);min-height:74px;padding:18px 5vw;font-size:.82rem;font-weight:900;display:flex;position:absolute;bottom:0;left:0;right:0}.trust-strip i{background:#70d6b8;border-radius:50%;width:5px;height:5px}.section{padding:clamp(76px,9vw,135px) clamp(20px,8vw,130px)}.intro{grid-template-columns:1.1fr .75fr;align-items:end;gap:8vw;display:grid}.intro>p{color:#526158;max-width:580px;margin:0;font-size:1.15rem}.intro>p strong{color:var(--green)}.service-grid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.service-grid article{border-right:1px solid var(--line);min-height:310px;padding:46px clamp(22px,3vw,46px)}.service-grid article:last-child{border-right:0}.service-number{color:var(--green-bright);letter-spacing:.12em;margin-bottom:70px;font-size:.78rem;font-weight:900;display:block}.service-grid p{color:#5b675f;margin:14px 0 0}.work{background:var(--white)}.section-heading{grid-template-columns:1.2fr .6fr;align-items:end;gap:6vw;margin-bottom:52px;display:grid}.section-heading>p{color:#5b675f;margin:0;font-size:1.1rem}.project-groups{gap:64px;display:grid}.gallery-title{color:var(--green);letter-spacing:-.02em;margin:0 0 20px;font-size:1.5rem}.gallery a{width:100%;height:100%;display:block}.gallery a:focus-visible{outline:3px solid var(--green-bright);outline-offset:-3px}.gallery{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(260px,29vw,360px);gap:14px;display:grid}.gallery figure{background:#d7ddd8;margin:0;position:relative;overflow:hidden}.gallery img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery figure:hover img{transform:scale(1.025)}.gallery figcaption{overflow-wrap:anywhere;color:var(--white);letter-spacing:.035em;background:#04271dd6;padding:8px 12px;font-size:.78rem;font-weight:800;position:absolute;bottom:18px;left:18px;right:18px}.weekly{color:var(--white);background:var(--green);grid-template-columns:1.1fr .8fr;align-items:center;gap:8vw;display:grid}.weekly h2{max-width:700px}.weekly-copy p{color:#ffffffd1;margin:0 0 26px;font-size:1.12rem}.button-light{color:var(--green);border-color:var(--white);background:var(--white)}.button-light:hover{color:var(--white);border-color:var(--green-bright);background:var(--green-bright)}.reviews{background:var(--cream);grid-template-columns:1.1fr .8fr;align-items:center;gap:8vw;display:grid}.reviews h2{max-width:700px}.reviews-copy p{color:#526158;margin:0 0 24px;font-size:1.12rem}.review-actions{flex-wrap:wrap;align-items:center;gap:18px 24px;display:flex}.review-link{color:var(--green);text-underline-offset:4px;font-weight:800}.review-link:hover{color:var(--green-bright)}.reviews{align-items:start}.reviews-intro>p:not(.eyebrow){color:#526158;max-width:560px;margin:20px 0;font-size:1.08rem}.reviews-panel{background:var(--white);border:1px solid var(--line);padding:clamp(22px,4vw,42px)}.review-form{gap:12px;display:grid}.review-form h3{margin-bottom:8px}.review-form>label:not(.consent-row),.admin-login label{font-weight:800}.review-form input:not([type=checkbox]),.review-form textarea,.admin-login input{width:100%;min-height:48px;color:var(--ink);background:var(--white);font:inherit;border:1px solid #87958c;border-radius:0;padding:12px 14px}.review-form textarea{resize:vertical;min-height:132px}.review-form input:focus,.review-form textarea:focus,.admin-login input:focus{border-color:var(--green-bright);outline:3px solid #08785a40}.rating-field{border:0;margin:0;padding:0}.rating-field legend{margin-bottom:6px;font-weight:800}.rating-choices{gap:6px;display:flex}.star-choice{color:#778178;cursor:pointer;background:0 0;border:1px solid #0000;min-width:44px;min-height:44px;font-size:2rem;line-height:1}.star-choice.selected,.review-stars{color:#b37400}.star-choice:focus-visible{outline:3px solid #08785a66}.consent-row{align-items:flex-start;gap:10px;margin:4px 0;font-size:.9rem;line-height:1.45;display:flex}.consent-row input{min-width:20px;min-height:20px;accent-color:var(--green-bright);margin-top:2px}.form-note{color:#5b675f;margin:0;font-size:.88rem}.form-message{margin:0;padding:12px 14px;font-weight:700}.form-message.success{color:#06452f;background:#e7f6ef}.form-message.error{color:#842a23;background:#fff0ee}.honeypot{width:1px;height:1px;position:absolute;top:auto;left:-10000px;overflow:hidden}.review-list{gap:14px;margin-top:30px;display:grid}.review-list>p{color:#526158;margin:0}.review-card{border-top:1px solid var(--line);padding:18px 0 0}.review-card p{margin:0}.review-stars{letter-spacing:.1em;font-size:1.2rem}.review-quote{color:#35443b;margin:8px 0!important}.review-author{color:var(--green);font-weight:800}.admin-page{background:var(--cream);min-height:100vh;padding:clamp(22px,6vw,72px)}.admin-panel{background:var(--white);border:1px solid var(--line);width:min(760px,100%);margin:0 auto;padding:clamp(24px,5vw,48px)}.admin-back{color:var(--green);margin-bottom:34px;font-weight:800;display:inline-block}.admin-panel h1{font-size:clamp(2rem,5vw,3.5rem)}.admin-intro{color:#526158;margin:14px 0 28px}.admin-login{gap:12px;max-width:440px;display:grid}.admin-queue{margin-top:24px}.admin-queue-heading,.admin-review-meta{justify-content:space-between;align-items:center;gap:16px;display:flex}.admin-queue-heading h2{font-size:1.5rem}.admin-review{border-top:1px solid var(--line);padding:22px 0}.admin-review p{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0}.admin-review small{color:#5b675f}.admin-review-actions{gap:10px;margin-top:16px;display:flex}.button:disabled{opacity:.65;cursor:progress;transform:none}.button-reject{background:#8c3930;border-color:#8c3930}.button-reject:hover{background:#702a23}.admin-signout{color:var(--green);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin-top:22px;padding:10px 0;font-weight:800;text-decoration:underline}.areas{color:var(--white);background:var(--green);grid-template-columns:1.1fr .65fr;align-items:center;gap:8vw;padding:88px clamp(20px,8vw,130px);display:grid}.areas h2{max-width:700px}.areas>p{color:#ffffffc2;margin:0;font-size:1.12rem}.contact{grid-template-columns:.75fr 1.25fr;align-items:end;gap:8vw;display:grid}.contact h2{margin-bottom:20px}.contact p{color:#59655e;max-width:500px}.contact-actions{gap:12px;display:grid}.contact-card{border:1px solid var(--line);background:var(--white);grid-template-columns:1fr auto;padding:22px 24px;text-decoration:none;transition:border .2s,transform .2s;display:grid}.contact-card:hover{border-color:var(--green-bright);transform:translate(4px)}.contact-card small{color:#68736c;text-transform:uppercase;letter-spacing:.1em;grid-column:1;font-weight:700}.contact-card strong{overflow-wrap:anywhere;grid-column:1;font-size:clamp(1rem,2.3vw,1.35rem)}.contact-card span{color:var(--green-bright);letter-spacing:.08em;text-transform:uppercase;grid-area:1/2/3;align-self:center;font-size:.78rem;font-weight:900}footer{border-top:1px solid var(--line);background:var(--white);color:#59655e;align-items:center;gap:28px;padding:38px clamp(20px,5vw,72px);font-size:.8rem;display:flex}footer img{object-fit:cover;width:150px;height:48px}footer p:nth-of-type(2){letter-spacing:.09em;text-transform:uppercase;margin-left:auto;font-weight:800}@media (max-width:900px){nav{display:none}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid article:nth-child(2){border-right:0}.service-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:320px}.intro,.section-heading,.areas,.contact,.weekly,.reviews{grid-template-columns:1fr;gap:34px}}@media (max-width:620px){.site-header{gap:12px;min-height:76px;padding:8px 16px}.brand img{width:158px;height:56px}.button-small{padding:8px 13px;font-size:.72rem}.hero{min-height:720px}.hero-overlay{background:linear-gradient(90deg,#02261ceb,#02261c9e)}.hero-content{width:auto;margin:0;padding:80px 20px 145px}.hero-actions{display:grid}.trust-strip{letter-spacing:.1em;gap:10px;font-size:.63rem}.section{padding:72px 20px}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid var(--line);min-height:auto}.service-grid article:last-child{border-bottom:0}.service-number{margin-bottom:28px}.gallery{grid-template-columns:1fr;grid-auto-rows:420px}.gallery figure{height:420px}.areas{padding:72px 20px}.review-actions{flex-direction:column;align-items:flex-start}footer{flex-direction:column;align-items:flex-start;gap:8px}footer p{margin:0}footer p:nth-of-type(2){margin-top:12px;margin-left:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}
