
:root{--green:#173f37;--accent:#d8e9a3;--text:#203d35;--muted:#7b8581;--bg:#f6f7f3;--line:#e5e9e2;--white:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #8da963;outline-offset:3px}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px;font-weight:600}h2{font-size:19px;font-weight:600;letter-spacing:-.3px}h3{font-size:16px}p{line-height:1.6}.sidebar{width:242px;background:white;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:34px 22px;z-index:5}.brand{display:flex;gap:12px;align-items:center;font-size:23px;letter-spacing:1px;font-weight:750}.brand small{display:block;font-size:9px;letter-spacing:3px;margin-top:3px;color:#899088}.brand-symbol{background:var(--green);border-radius:14px;color:white;padding:4px 7px;font-size:27px;letter-spacing:-3px;position:relative;width:45px;height:45px}.brand-symbol span{position:absolute;color:var(--accent);font-size:17px;top:0;right:2px}.workspace-label{font-size:9px;letter-spacing:1.4px;color:#8a928c;margin:46px 10px 16px}.nav-item{display:flex;gap:13px;align-items:center;padding:13px 14px;border-radius:9px;margin-bottom:7px;color:#77827b;font-weight:500}.nav-item.active{background:#eaf0e4;color:var(--green);font-weight:650}.nav-item:hover{background:#f1f4ed}.nav-item .count{margin-left:auto;font-size:11px;background:white;border-radius:5px;padding:2px 6px}.sidebar-bottom{margin-top:auto}.care-note{background:#f5f7ef;border:1px solid #e8ecdf;border-radius:12px;padding:18px 14px;margin-top:35px}.support-icon{font-size:30px;display:block;margin-bottom:8px}.care-note strong{font-size:13px;line-height:1.6}.care-note p{font-size:11px;color:var(--muted);margin:8px 0}.care-note button{font-size:12px;padding:10px 0;font-weight:600}.profile{display:flex;gap:10px;align-items:center;margin-top:24px;font-size:11px}.profile small{display:block;color:var(--muted);margin-top:5px}.avatar{border-radius:50%;background:#e8ebdf;width:35px;height:35px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.avatar.small{width:31px;height:31px}.shell{margin-left:242px}header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px;background:#fcfdfb}.breadcrumb{font-size:12px;color:#8a928c}.breadcrumb span{margin:0 14px;color:#bbc1b9}.breadcrumb strong{font-weight:500;color:#43564a}.top-actions{display:flex;gap:22px;align-items:center}.local-badge{font-size:10px;color:#76816c;background:#eef2e7;border-radius:20px;padding:7px 10px;display:flex;align-items:center;gap:6px}.local-badge i{width:5px;height:5px;background:#87a355;border-radius:50%}.icon-button{position:relative;font-size:24px}.icon-button b{position:absolute;right:6px;top:6px;border-radius:50%;background:#bc9458;width:5px;height:5px}main{max-width:1500px;margin:auto;padding:32px 36px 40px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px;gap:16px}.eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted);margin-bottom:8px;font-weight:600}.sub{color:var(--muted);font-size:12px;margin-top:9px}.btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:12px 18px;border:1px solid var(--line);border-radius:8px;font-size:12px;font-weight:600;background:white;white-space:nowrap}.btn.primary{background:var(--green);border-color:var(--green);color:white}.btn.light{background:var(--accent);border-color:var(--accent);color:var(--green)}.btn svg{width:17px;height:17px}.hero{background:#183f36;border-radius:16px;min-height:238px;display:grid;grid-template-columns:1.05fr 1fr;overflow:hidden;color:white;position:relative}.hero-copy{padding:32px 34px;z-index:1}.hero .eyebrow{color:#bdcfae;font-size:9px}.hero h2{font-size:31px;line-height:1.22;letter-spacing:-.9px;font-weight:500;margin:13px 0}.hero p{color:#b5c8bc;font-size:12px;max-width:340px;margin-bottom:21px}.hero .art{width:100%;height:100%;min-height:238px}.hero-art{position:relative;overflow:hidden}.hero-art:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#183f36,transparent 35%)}.hero-tag{position:absolute;bottom:22px;right:22px;background:#ffffff16;backdrop-filter:blur(6px);padding:10px 14px;border:1px solid #ffffff26;border-radius:8px;font-size:10px;display:flex;gap:9px;align-items:center}.hero-tag span{color:#d8e9a3}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:20px 0 30px}.stat{border:1px solid var(--line);border-radius:11px;padding:18px;background:white;display:flex;gap:14px;align-items:center}.stat-icon{height:40px;width:40px;display:flex;align-items:center;justify-content:center;background:#f2f4ec;border-radius:10px;color:#66805a}.stat:nth-child(2) .stat-icon{background:#fff4e4;color:#b89757}.stat:nth-child(3) .stat-icon{background:#eaf3ed;color:#6c9a81}.stat:nth-child(4) .stat-icon{background:#eef0f9;color:#8490b3}.stat strong{font-size:24px;font-weight:600;display:block}.stat small{display:block;font-size:10px;color:var(--muted);margin-bottom:5px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:10px}.text-link{color:#5d7358;font-size:11px;display:flex;gap:8px;align-items:center}.service-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}.service{border:1px solid var(--line);border-radius:11px;background:white;padding:19px 5px 16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:13px;font-size:11px;line-height:1.5;transition:transform .15s,border-color .15s}.service:hover{transform:translateY(-4px);border-color:#8ca97b}.service-icon{width:46px;height:46px;background:#f0f3e9;border-radius:14px;display:flex;align-items:center;justify-content:center;color:#627956}.service:nth-child(2n) .service-icon{background:#edf1f5;color:#6b8295}.service:nth-child(3n) .service-icon{background:#faf1e4;color:#b09362}.lower-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:24px;margin-top:29px}.panel{border:1px solid var(--line);border-radius:13px;background:white;overflow:hidden}.panel-top{padding:21px 21px 0}.project-row{display:grid;grid-template-columns:92px 1fr auto;gap:16px;padding:18px 21px;align-items:center;border-bottom:1px solid #eef0eb}.project-row:last-child{border:0}.project-thumb{height:78px;background:#e2e8db;border-radius:8px;overflow:hidden}.project-thumb svg{width:100%;height:100%;stroke:none}.project-info h3{font-size:13px;margin-bottom:7px}.project-info p{font-size:10px;color:#8c948b;margin-bottom:10px}.status{padding:4px 8px;background:#edf3e8;color:#668552;border-radius:5px;font-size:9px;display:inline-block}.status.amber{background:#fcf1df;color:#a98242}.project-meta{font-size:9px;color:#899484;margin-left:8px}.row-arrow{color:#819276;font-size:20px}.calendar{padding:0 21px 17px}.month{display:flex;justify-content:space-between;font-size:11px;color:#7b8677;margin:20px 0 17px}.days{display:flex;justify-content:space-between;text-align:center;gap:4px}.day{font-size:9px;color:#929a90;padding:8px 9px;border-radius:8px;line-height:2.3}.day strong{font-size:13px;color:#607258;display:block}.day.selected{background:var(--green);color:#b7cba9}.day.selected strong{color:white}.appointment{margin-top:20px;padding:13px 14px;background:#f4f6ef;border-left:3px solid #a6bb72;border-radius:6px}.appointment strong{font-size:12px}.appointment p{font-size:10px;color:#87917f;margin-top:5px}.appointment .time{font-size:10px;color:#58704d;margin-top:10px;display:flex;align-items:center;gap:7px}.bottom-banner{margin-top:24px;border:1px dashed #d8dfce;border-radius:11px;padding:16px 20px;display:flex;align-items:center;gap:15px;background:#f0f3e9}.bottom-banner p{font-size:11px;color:#7d8975}.bottom-banner strong{font-size:12px;display:block;margin-bottom:4px}.bottom-banner button{margin-left:auto;font-size:11px;white-space:nowrap}.bottom-banner svg{color:#789365}footer{margin:0 36px 24px;border-top:1px solid var(--line);padding-top:17px;font-size:10px;font-weight:700;letter-spacing:1px;display:flex;gap:14px;color:#67785e}footer span{letter-spacing:0;font-weight:400;color:#99a090}footer small{margin-left:auto;font-size:9px;letter-spacing:0;font-weight:400;color:#a1a69c}.mobile-nav{display:none}.project-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project-card{background:white;border:1px solid var(--line);border-radius:13px;overflow:hidden}.project-cover{height:175px;background:#dae2d2}.project-cover svg{height:100%;width:100%;stroke:none}.card-copy{padding:20px}.card-copy h3{margin:10px 0}.card-copy p{font-size:12px;color:var(--muted);margin-bottom:18px}.card-copy .btn{width:100%}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.tab{padding:9px 15px;border-radius:7px;background:white;border:1px solid var(--line);font-size:12px}.tab.active{background:var(--green);color:white}.search{background:white;border:1px solid var(--line);padding:12px 15px;border-radius:8px;width:100%;margin-bottom:20px;color:var(--text)}.full-services{grid-template-columns:repeat(4,1fr)}.full-services .service{padding:25px;gap:16px}.full-services .service strong{font-size:14px}.full-services .service p{font-size:11px;color:var(--muted);max-width:200px}.request-row{padding:21px;border-bottom:1px solid var(--line);display:flex;gap:15px;align-items:center}.request-row h3{font-size:13px;margin-bottom:8px}.request-row p{font-size:11px;color:var(--muted)}.request-row .status{margin-left:auto;white-space:nowrap}.empty{padding:40px;text-align:center;color:var(--muted)}.detail-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:25px;margin:22px 0}.detail-hero .project-cover{height:290px;border-radius:12px}.detail-summary{padding:25px;background:white;border:1px solid var(--line);border-radius:12px}.detail-summary h2{margin:12px 0}.detail-summary p{font-size:12px;color:var(--muted)}dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:12px}dt{color:var(--muted);margin-bottom:5px}dd{margin:0}.file-row{display:flex;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding:18px 22px;font-size:12px}.file-row small{display:block;color:var(--muted);margin-top:5px}.file-row button{margin-left:auto}.note{padding:15px 18px;background:#f0f3e8;border-radius:9px;color:#738366;font-size:12px;line-height:1.7;margin:18px 0}dialog{border:0;border-radius:16px;padding:0;width:min(520px,calc(100% - 28px));color:var(--text);max-height:90dvh;box-shadow:0 25px 100px #10251e44}dialog::backdrop{background:#172a2666;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;padding:23px 25px;border-bottom:1px solid var(--line)}.dialog-head button{font-size:26px;color:#9aa294}.dialog-content{padding:23px 25px}.dialog-content p{color:var(--muted);font-size:12px;margin:10px 0 20px}label{display:block;font-size:12px;margin-bottom:15px}label input,label select,label textarea{display:block;width:100%;padding:11px 12px;border:1px solid #dce2d5;border-radius:7px;margin-top:7px;background:#fcfdfb;color:var(--text)}textarea{resize:vertical;min-height:84px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.dialog-content .btn.primary{width:100%}.form-hint{font-size:10px;color:var(--muted);line-height:1.6;margin-top:14px}.wide{grid-column:1/-1}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:13px 22px;border-radius:9px;z-index:20;font-size:12px;display:none;max-width:90%;box-shadow:0 8px 30px #173f3733}.research{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.research article{padding:25px;background:white;border:1px solid var(--line);border-radius:12px}.research h3{margin:12px 0}.research p{color:var(--muted);font-size:12px}.research a{display:block;margin-top:18px;font-size:12px;text-decoration:underline}.step{display:flex;gap:15px;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.step b{width:32px;height:32px;background:#ecf1e5;display:grid;place-items:center;border-radius:50%}.step p{font-size:12px;color:var(--muted)}
@media(min-width:1550px){main{padding-top:40px}.hero{min-height:280px}.hero-copy{padding:38px}.hero h2{font-size:38px}}
@media(max-width:1150px){.sidebar{width:210px;padding:28px 16px}.shell{margin-left:210px}main{padding:28px 24px}.service-grid{grid-template-columns:repeat(4,1fr)}.lower-grid{grid-template-columns:1.3fr 1fr}.project-meta{display:none}.stat{padding:14px 10px;gap:9px}.project-cards{grid-template-columns:repeat(2,1fr)}.hero h2{font-size:28px}.hero-copy{padding:28px}.project-row{grid-template-columns:70px 1fr 12px;gap:12px;padding:16px}.project-thumb{height:70px}}
@media(max-width:780px){.sidebar{display:none}.shell{margin-left:0}header{height:65px;padding:0 20px}.breadcrumb{font-weight:700;color:var(--green)}.breadcrumb span,.breadcrumb strong{display:none}.top-actions{gap:12px}.local-badge{font-size:8px;padding:6px 8px}main{padding:24px 18px 25px}.page-heading{align-items:flex-start;margin-bottom:20px}h1{font-size:25px}.page-heading>.btn{font-size:10px;padding:10px}.page-heading .sub{max-width:220px;line-height:1.6}.hero{grid-template-columns:1fr 1fr;min-height:230px}.hero-copy{padding:25px 0 25px 22px;min-width:230px}.hero h2{font-size:26px}.hero p{font-size:10px;max-width:240px}.hero .eyebrow{font-size:8px}.hero-art{opacity:.65}.hero-tag{font-size:8px;right:10px;bottom:14px;padding:8px}.hero .btn{font-size:10px}.stats{grid-template-columns:repeat(2,1fr);gap:10px;margin:15px 0 27px}.stat{padding:14px;gap:12px}.stat strong{font-size:23px}.stat small{font-size:10px}.stat-icon{width:35px;height:35px}.service-grid{gap:8px}.service{font-size:10px;padding:15px 3px 13px;gap:10px}.service-icon{height:43px;width:43px;border-radius:12px}.section-head h2{font-size:17px}.text-link{font-size:10px}.lower-grid{grid-template-columns:1fr;gap:22px;margin-top:25px}.project-row{grid-template-columns:78px 1fr 15px;padding:17px}.project-thumb{height:70px}.project-info h3{font-size:13px}.panel-top{padding:18px 18px 0}.bottom-banner{padding:15px;align-items:flex-start}.bottom-banner>svg{flex-shrink:0}.bottom-banner button{font-size:10px;max-width:80px;white-space:normal}.bottom-banner p{font-size:10px}footer{margin:0 18px 95px;flex-wrap:wrap;gap:8px}footer small{width:100%;margin:0}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;justify-content:space-around;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:9px 6px calc(9px + env(safe-area-inset-bottom));z-index:6}.mobile-nav a{display:flex;align-items:center;flex-direction:column;gap:5px;font-size:9px;color:#96a08f;padding:2px 6px}.mobile-nav a.active{color:var(--green);font-weight:700}.mobile-nav svg{width:21px;height:21px}.project-cards{grid-template-columns:1fr}.project-cover{height:200px}.full-services{grid-template-columns:repeat(2,1fr)}.full-services .service{padding:22px 12px}.full-services .service strong{font-size:12px}.research{grid-template-columns:1fr}.detail-hero{grid-template-columns:1fr}.detail-hero .project-cover{height:220px}.request-row{flex-wrap:wrap}.request-row .status{margin-left:52px}.file-row{padding:16px;gap:10px}.file-row .btn{padding:8px;font-size:10px}#toast{bottom:90px;width:max-content;max-width:90%}.field-grid{grid-template-columns:1fr}.dialog-content{padding:20px}.calendar{padding:0 18px 18px}.days .day{padding:7px 13px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}


.hero-art>svg{width:100%;height:100%;min-height:238px;stroke:none;display:block}.hero-art:before{z-index:1;pointer-events:none}.hero-tag{z-index:2}
@media(max-width:780px){.hero-art>svg{width:330px;max-width:none;position:absolute;right:-85px;top:0;height:100%;}.hero-art:before{background:linear-gradient(90deg,#183f36,transparent 65%)}}
.home-services,.service-process,.home-projects{margin-top:32px}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:36px 0;padding:28px;background:#edf1e7;border-radius:14px}.intro-grid h2{font-size:24px;line-height:1.35;margin-bottom:16px}.intro-grid p{font-size:13px;color:#73806b;margin-top:12px}.intro-list>div{display:flex;gap:15px;padding:12px 0}.intro-list svg{flex-shrink:0;margin-top:2px}.intro-list strong{font-size:13px}.intro-list p{font-size:12px;margin:5px 0 0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.process-grid article{background:white;border:1px solid var(--line);border-radius:12px;padding:23px}.process-grid article>span{color:#81976e;font-size:12px;letter-spacing:2px}.process-grid h3{margin:15px 0 9px}.process-grid p{font-size:12px;color:var(--muted)}.project-empty{padding:35px 20px}.project-empty .service-icon{margin:0 auto 18px}.project-empty p{margin:12px 0 22px;font-size:12px}.about-copy{padding:30px}.about-copy p{font-size:14px;color:var(--muted);max-width:780px;margin:18px 0}.hero-copy{padding-right:12px}.hero-copy p{max-width:380px}.hero-tag{font-size:9px}.hero h2{font-size:30px}
@media(max-width:780px){.intro-grid{grid-template-columns:1fr;gap:20px;padding:23px}.process-grid{grid-template-columns:1fr}.hero{grid-template-columns:1fr;min-height:300px}.hero-copy{padding:26px 22px;max-width:100%;position:relative}.hero-copy h2{font-size:27px}.hero-copy p{max-width:235px}.hero-art{position:absolute;inset:0 0 0 42%;pointer-events:none;opacity:.4}.hero-art>svg{right:-160px;width:420px}.hero-tag{display:none}.hero-copy .btn{position:relative;z-index:3}.page-heading .sub{max-width:100%}.page-heading{flex-wrap:wrap}.about-copy{padding:23px}}
/* Service shortcuts: clear colors and heavier symbols on all screen sizes. */
.service-grid .service{--service-color:#17613e;--service-tint:#e8f5ed;border-color:#d5dfd8;box-shadow:0 3px 10px #173f3708;color:#203d35;font-size:12px;font-weight:650;padding-top:21px;padding-bottom:19px;gap:14px}
.service-grid .service:nth-child(2){--service-color:#a65008;--service-tint:#fff0d6}
.service-grid .service:nth-child(3){--service-color:#086ca7;--service-tint:#e0f3ff}
.service-grid .service:nth-child(4){--service-color:#087b78;--service-tint:#def6f2}
.service-grid .service:nth-child(5){--service-color:#3558b0;--service-tint:#e9edff}
.service-grid .service:nth-child(6){--service-color:#b34831;--service-tint:#ffebe4}
.service-grid .service:nth-child(7){--service-color:#7942a3;--service-tint:#f3e7ff}
.service-grid .service:nth-child(8){--service-color:#89630b;--service-tint:#fbf0cb}
.service-grid .service .service-icon{width:58px;height:58px;border-radius:16px;background:var(--service-tint);color:var(--service-color);border:1px solid color-mix(in srgb,var(--service-color) 22%,transparent)}
.service-grid .service .service-icon svg{width:30px;height:30px;stroke-width:2.2}
.service-grid .service:hover,.service-grid .service:focus-visible{border-color:var(--service-color);box-shadow:0 6px 18px #173f3715}
.service-grid .service:hover .service-icon{background:var(--service-color);color:white}
.service-grid .service .text-link{color:var(--service-color);font-weight:650}
@media(max-width:780px){.service-grid .service{font-size:11px;gap:12px;padding:16px 4px;line-height:1.5}.service-grid .service .service-icon{width:50px;height:50px;border-radius:14px}.service-grid .service .service-icon svg{width:28px;height:28px;stroke-width:2.2}.full-services .service{padding:22px 12px}}

/* Intake accessibility and readable mobile controls. Keep the established green service identity. */
:root{--muted:#52685d}body{font-size:16px}button,a,input,select,textarea{touch-action:manipulation}button,input,select,textarea,.nav-item,.mobile-nav a{min-height:44px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #2d7547;outline-offset:3px}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:#fff;color:#123d35;padding:12px 16px;border:2px solid #123d35;border-radius:8px}.skip-link:focus{top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.portal-mobile-link{display:none}.nav-item{font-size:13px}.care-note p,.profile small{color:#52685d}.sub,.hero p,.intro-grid p,.intro-list p,.process-grid p,.project-empty p,.about-copy p{font-size:14px;line-height:1.65}.hero p{color:#e4eee6}.hero-tag{color:#173f37}.text-link{font-size:13px}.btn{font-size:14px;line-height:1.4}.service-grid .service{font-size:13px}.full-services .service p{font-size:13px}.full-services .service strong{font-size:15px}.section-head{flex-wrap:wrap}.request-row p{font-size:14px;line-height:1.65;overflow-wrap:anywhere}.receipt-code{font-size:18px;overflow-wrap:anywhere}.request-row .status{font-size:12px;color:#285a35;background:#e6f3e6;white-space:normal}.note{color:#40583f;font-size:14px}.dialog-head{position:sticky;top:0;z-index:2;background:white;padding:18px 22px;gap:12px}.dialog-head h2{font-size:21px;line-height:1.4}.dialog-head button{min-width:44px;min-height:44px;color:#314e3f;flex-shrink:0}.dialog-content{padding:20px 22px max(24px,env(safe-area-inset-bottom))}.dialog-content p{font-size:14px;line-height:1.65;color:#486052}.dialog-content label{font-size:14px}.dialog-content input,.dialog-content select,.dialog-content textarea{font-size:16px;border-color:#9caf9f}#booking-fields{border:0;padding:0;margin:0;min-width:0}#booking-fields:disabled{opacity:.75}.consent{display:flex;gap:12px;align-items:flex-start;font-weight:400;line-height:1.6}.consent input{width:22px;min-height:22px;height:22px;margin:3px 0;flex-shrink:0}.consent{min-height:44px;padding:8px 0}.field-error{display:block;color:#973c2d;font-size:13px;margin-top:6px;line-height:1.5}.field-error:empty{display:none}[aria-invalid="true"]{border:2px solid #a5402c!important}.form-error{background:#fff2eb;border:1px solid #bc6c53;color:#79311f;border-radius:8px;padding:14px;margin:0 0 20px;font-size:14px;line-height:1.6}.form-error a{color:#79311f;text-decoration:underline;display:inline-flex;align-items:center;min-height:44px}.form-error ul{margin:8px 0 0;padding-left:22px}.dialog-content #send-status{font-size:14px;color:#264f34}.dialog-content .form-hint{font-size:13px;color:#52685d}.abandon{background:#fff;border:1px solid #9caf9f;color:#2f523d;width:100%;margin-top:8px;white-space:normal}button:disabled{opacity:.65;cursor:wait}[hidden]{display:none!important}footer small{font-size:12px}.bottom-banner p,.bottom-banner strong,.bottom-banner button{font-size:13px}.service:hover{transform:none}.mobile-nav a{color:#50654f}.dialog-content .field-grid>*{min-width:0}
@media(max-width:780px){.portal-mobile-link{display:inline-flex;min-height:44px;align-items:center;font-size:13px;font-weight:600;color:#123d35}.top-actions{gap:8px}.local-badge{display:none}.hero p{font-size:14px;max-width:260px}.hero .btn,.page-heading>.btn{font-size:14px}.hero-copy{padding:26px 22px;min-width:0}.page-heading .sub{font-size:14px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid .service{font-size:13px;padding:18px 10px}.service-grid .service .service-icon{height:50px;width:50px}.mobile-nav a{min-width:44px;min-height:48px;padding:4px;font-size:10px;gap:4px}.mobile-nav{padding-bottom:calc(9px + env(safe-area-inset-bottom))}.shell>header{padding-top:env(safe-area-inset-top);height:calc(65px + env(safe-area-inset-top));gap:8px}footer{margin-bottom:calc(96px + env(safe-area-inset-bottom))}.bottom-banner{flex-wrap:wrap}.bottom-banner button{max-width:none;margin-left:35px}.request-row .status{margin-left:0}.request-row{gap:12px}.dialog-head{padding:15px 18px}.dialog-head h2{font-size:19px}dialog{max-height:calc(100dvh - 24px - env(safe-area-inset-top));width:calc(100% - 24px)}#toast{bottom:calc(90px + env(safe-area-inset-bottom));font-size:14px}.text-link{font-size:13px}.process-grid p,.intro-list p,.project-empty p{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
