:root{color-scheme:light;--dark: #1f2421;--dark-deeper: #151817;--dark-soft: #252b27;--accent: #b7d9a8;--accent-strong: #8fbd7c;--accent-deep: #5f8e52;--light: #f7f8f5;--surface: #ffffff;--surface-soft: #eef3ec;--ink: #222624;--muted: #626c64;--text-light: #f8faf7;--muted-light: rgba(248, 250, 247, .72);--line: #dfe6dd;--line-dark: rgba(255, 255, 255, .12);--card-dark: rgba(255, 255, 255, .06);--shadow: 0 20px 54px rgba(21, 24, 23, .13);--max: 1180px;--page-pad: max(20px, calc((100vw - var(--max)) / 2));font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--light);color:var(--ink);line-height:1.68;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}img{display:block;max-width:100%}:focus-visible{outline:3px solid rgba(183,217,168,.78);outline-offset:3px}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:22px;justify-content:space-between;padding:14px var(--page-pad);border-bottom:1px solid rgba(255,255,255,.1);background:#151817eb;color:var(--text-light);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;min-width:220px;gap:11px;font-weight:800;line-height:1.2}.logo-mark{display:grid;width:44px;aspect-ratio:1 / 1;flex:0 0 auto;place-items:center;overflow:hidden;border:1px solid rgba(183,217,168,.28);border-radius:50%;background:#262b28;box-shadow:inset 0 0 0 1px #ffffff0d}.logo-mark img{width:78%;height:auto;object-fit:contain}.nav{display:flex;flex-wrap:wrap;gap:18px;color:var(--muted-light);font-size:.94rem}.nav a:hover,.site-footer a:hover{color:var(--accent)}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:1px solid var(--accent);border-radius:8px;padding:0 22px;background:var(--accent);color:#121512;font-weight:850;cursor:pointer;box-shadow:0 14px 32px #15181733}.button:hover{transform:translateY(-1px);background:#c6e4b9}.button:disabled{cursor:wait;opacity:.72}.button-secondary{border-color:#ffffff57;background:transparent;color:var(--text-light);box-shadow:none}.button-secondary:hover{border-color:var(--accent);background:#ffffff14;color:var(--text-light)}.section .button-secondary,.contact-section .button-secondary,.form-panel .button-secondary,.contact-form .button-secondary{border-color:#bfcabe;color:var(--ink)}.section .button-secondary:hover,.contact-section .button-secondary:hover,.form-panel .button-secondary:hover,.contact-form .button-secondary:hover{border-color:var(--accent-deep);background:var(--surface-soft);color:var(--ink)}.button-small{min-height:40px;padding-inline:16px;font-size:.9rem}.hero,.section,.why-section,.appointment-section,.contact-section,.legal-page{padding-inline:var(--page-pad);scroll-margin-top:92px}.hero{position:relative;display:grid;min-height:calc(100vh - 73px);grid-template-columns:minmax(0,.94fr) minmax(340px,.78fr);gap:clamp(36px,6vw,76px);align-items:center;overflow:hidden;padding-block:clamp(72px,9vw,126px);background:radial-gradient(circle at 78% 24%,rgba(183,217,168,.16),transparent 32%),linear-gradient(135deg,var(--dark-deeper),var(--dark) 55%,#222924);color:var(--text-light)}.hero:before{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#15181738,#15181700);content:""}.hero-copy,.hero-visual{position:relative;z-index:1;min-width:0}.hero h1,.section-heading h2,.why-section h2,.contact-details h2,.legal-page h1{margin:0;letter-spacing:0;line-height:1.08;overflow-wrap:break-word}.hero h1{max-width:820px;font-size:clamp(2.75rem,5.6vw,5rem)}.hero p{max-width:700px;margin-block:22px 0;color:var(--muted-light);font-size:clamp(1rem,1.45vw,1.18rem)}.hero-actions,.form-actions,.phone-list,.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-actions{margin-top:28px}.hero-visual{display:grid;place-items:center}.eyebrow{margin:0 0 14px;color:var(--accent);font-size:.82rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.section,.appointment-section,.contact-section,.why-section,.legal-page{padding-block:clamp(72px,8vw,104px)}.section{background:var(--light)}.section-heading{max-width:800px;margin-bottom:38px}.section-heading h2,.why-section h2,.contact-details h2,.legal-page h1{font-size:clamp(2rem,4vw,3.35rem)}.section-heading p,.privacy-note,.legal-page p,.group-intro,.contact-details p{color:var(--muted)}.service-groups{display:grid;gap:56px}.service-groups h3{margin:0 0 8px;font-size:1.25rem}.group-intro{max-width:780px;margin:0 0 22px}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-card{display:flex;min-height:218px;flex-direction:column;padding:24px;border:1px solid rgba(31,36,33,.1);border-radius:10px;background:#ffffffdb;box-shadow:0 12px 34px #1f24210d}.service-card:hover{border-color:#5f8e5257;box-shadow:0 18px 42px #1f242117;transform:translateY(-2px)}.service-card span{display:block;width:36px;height:4px;margin-bottom:28px;border-radius:999px;background:var(--accent)}.service-card h3{margin:0;font-size:1.02rem;line-height:1.35}.service-card p{margin:12px 0 0;color:var(--muted);font-size:.94rem;line-height:1.58}.section-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:44px;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px 26px;background:linear-gradient(135deg,#b7d9a814,#fff0),var(--dark);box-shadow:0 22px 54px #1518172e;color:var(--text-light)}.section-cta div{max-width:680px}.section-cta h3,.section-cta p{margin:0}.section-cta h3{font-size:1.28rem;line-height:1.25}.section-cta p{margin-top:6px;color:var(--muted-light);font-weight:600}.why-section{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(34px,5vw,62px);align-items:center;background:linear-gradient(90deg,rgba(183,217,168,.07),transparent 42%),var(--dark);color:var(--text-light)}.why-copy{display:grid;gap:18px}.why-copy p{margin:0;color:var(--muted-light)}.trust-list,.microcopy-list{display:grid;gap:12px;margin:8px 0 0;padding:0;list-style:none}.trust-list li,.microcopy-list li{position:relative;padding-left:26px;color:var(--text-light);font-weight:800}.trust-list li:before,.microcopy-list li:before{position:absolute;left:0;top:.72em;width:10px;height:10px;border-radius:999px;background:var(--accent);content:""}.appointment-section{display:grid;grid-template-columns:minmax(0,.82fr) minmax(360px,1fr);gap:clamp(34px,5vw,62px);align-items:start;background:radial-gradient(circle at 22% 18%,rgba(183,217,168,.12),transparent 34%),var(--dark-deeper);color:var(--text-light)}.appointment-section .section-heading{margin-bottom:0}.appointment-section .section-heading p,.appointment-section .privacy-note{color:var(--muted-light)}.microcopy-list{margin-top:20px}.form-panel,.contact-form{display:grid;gap:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:26px;box-shadow:var(--shadow)}.appointment-section .form-panel,.appointment-section .success-panel{border-color:#ffffff29;background:#f7f8f5f5}.form-grid,.contact-form{display:grid;gap:16px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}label,.review-panel{display:grid;gap:7px;color:var(--ink);font-weight:800}input,select,textarea{width:100%;min-height:48px;border:1px solid #cbd7c8;border-radius:8px;padding:10px 12px;background:#fff;color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--accent-deep);box-shadow:0 0 0 4px #b7d9a838;outline:none}textarea{resize:vertical}small,.form-error{color:#9f2d2d}.form-error,.form-success{margin:0 0 16px;font-weight:800}.form-success{color:#416d38}.full,.form-actions,.review-panel,.form-panel .button{grid-column:1 / -1}.steps{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.steps span{border:1px solid #d9e2d7;border-radius:999px;padding:7px 11px;background:#fff;color:var(--muted);font-size:.88rem}.steps .active{border-color:var(--accent-deep);background:#f4faef;color:var(--dark)}.review-panel dl{display:grid;gap:12px;margin:0}.review-panel div{display:grid;grid-template-columns:150px 1fr;gap:16px;border-bottom:1px solid var(--line);padding-bottom:12px}.review-panel dt{color:var(--muted)}.review-panel dd{margin:0}.success-panel{align-content:start}.success-panel h3{margin:0;font-size:1.5rem}.contact-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.86fr);gap:clamp(34px,5vw,60px);align-items:start;background:var(--light)}.contact-details{display:grid;align-content:start;gap:18px}.contact-actions{margin:4px 0 2px}.contact-form{width:100%;max-width:620px;justify-self:end;gap:15px;padding:24px}.contact-form label{gap:6px;font-size:.96rem}.contact-form textarea{min-height:158px}.contact-details a{width:fit-content;font-weight:850}address{display:grid;gap:6px;font-style:normal;color:var(--muted)}address strong{color:var(--ink)}.hours{color:var(--muted)}.hours p{margin:0 0 6px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.site-footer{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:32px;padding:52px var(--page-pad);border-top:1px solid var(--line-dark);background:var(--dark-deeper);color:var(--text-light)}.site-footer div{display:grid;align-content:start;gap:8px}.footer-logo{width:64px;margin-bottom:8px;background:#f7f8f5}.site-footer h2,.site-footer p{margin:0}.site-footer h2{font-size:1rem}.site-footer span,.site-footer a{color:var(--muted-light)}.legal-page{max-width:860px;margin-inline:auto;background:var(--light)}.legal-page a{color:var(--accent-deep);font-weight:800}.image-placeholder,.image-frame,.map-frame{position:relative;display:grid;width:100%;min-height:260px;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--ink)}.image-placeholder:before{position:absolute;inset:18px;border:1px dashed rgba(111,155,98,.42);border-radius:8px;content:""}.image-placeholder div{position:relative;max-width:280px;padding:20px;text-align:center}.image-placeholder span{display:block;font-weight:850}.image-placeholder p{margin:6px 0 0;color:var(--muted);font-size:.9rem}.image-frame{margin:0;box-shadow:var(--shadow)}.image-frame img{width:100%;height:100%;object-fit:cover}.hero-visual .image-frame{aspect-ratio:4 / 5;min-height:440px;border-color:#ffffff24;box-shadow:0 28px 80px #00000042}.hero-visual .image-frame:after{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#1518170a,#1518172e);content:""}.why-placeholder,.appointment-placeholder,.contact-placeholder,.map-frame{margin-top:28px;min-height:240px}.why-placeholder,.appointment-placeholder{aspect-ratio:4 / 3;border-color:#ffffff24}.appointment-placeholder{margin-top:26px;box-shadow:0 24px 70px #00000038}.contact-placeholder,.map-frame{aspect-ratio:16 / 10}.map-frame{align-items:end;background:var(--surface-soft);padding:0;box-shadow:var(--shadow)}.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.82) contrast(.96)}.map-frame div{position:relative;z-index:1;width:calc(100% - 32px);margin:16px;border:1px solid rgba(31,36,33,.12);border-radius:8px;padding:12px 14px;background:#ffffffeb;backdrop-filter:blur(10px)}.map-frame span{display:block;font-weight:850}.map-frame p{margin:3px 0 8px;color:var(--muted);font-size:.92rem}.map-frame a{color:var(--accent-deep);font-weight:850}.portal-page{min-height:72vh;padding:clamp(52px,7vw,88px) var(--page-pad);background:radial-gradient(circle at 16% 0%,rgba(183,217,168,.14),transparent 30%),linear-gradient(180deg,var(--dark-deeper) 0%,var(--dark) 360px,var(--light) 360px)}.portal-shell{display:grid;max-width:var(--max);margin-inline:auto;gap:24px;color:var(--text-light)}.portal-login{grid-template-columns:minmax(0,1fr) minmax(320px,440px);align-items:start;gap:clamp(28px,5vw,64px)}.portal-intro h1,.portal-toolbar h1{margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.08}.portal-intro p,.portal-toolbar p{max-width:720px;margin:14px 0 0;color:var(--muted-light)}.portal-checks{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}.portal-checks li{position:relative;padding-left:26px;color:var(--text-light);font-weight:800}.portal-checks li:before{position:absolute;left:0;top:.72em;width:10px;height:10px;border-radius:999px;background:var(--accent);content:""}.portal-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:22px}.portal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.portal-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:22px;align-items:start}.portal-column{display:grid;gap:22px}.portal-panel{display:grid;gap:16px;min-width:0;border:1px solid rgba(31,36,33,.1);border-radius:12px;padding:clamp(20px,3vw,28px);background:#fffffff5;color:var(--ink);box-shadow:var(--shadow)}.password-panel{max-width:780px;border-color:#8fbd7c5c}.portal-loading{max-width:520px;margin-inline:auto}.portal-panel h2,.portal-panel p{margin:0}.portal-panel h2{font-size:1.24rem;line-height:1.2}.portal-muted{color:var(--muted);font-size:.94rem}.portal-admin-banner{display:grid;gap:5px;border:1px solid rgba(183,217,168,.28);border-radius:12px;padding:18px 20px;background:linear-gradient(135deg,#b7d9a81f,#ffffff05),var(--dark);color:var(--text-light);box-shadow:0 18px 44px #15181729}.portal-admin-banner span{color:var(--accent);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.portal-admin-banner strong{line-height:1.35}.portal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ticket-list,.message-list,.portal-files,.portal-user-list{display:grid;gap:10px}.ticket-item{display:grid;width:100%;gap:4px;border:1px solid var(--line);border-radius:10px;padding:14px;background:#fbfcfa;color:var(--ink);text-align:left;cursor:pointer}.ticket-item:hover,.ticket-item.active{border-color:#5f8e5275;background:#f2f8ef}.ticket-item span{font-weight:850}.ticket-item small,.ticket-detail small{color:var(--muted)}.ticket-detail-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:18px;align-items:start}.upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;border-top:1px solid var(--line);padding-top:16px}.portal-progress{display:grid;gap:8px;border:1px solid rgba(95,142,82,.24);border-radius:10px;padding:12px 14px;background:#f4faef;color:var(--ink)}.portal-progress span{position:relative;height:7px;overflow:hidden;border-radius:999px;background:#dbe8d6}.portal-progress span:before{position:absolute;top:0;bottom:0;left:-35%;width:35%;border-radius:inherit;background:var(--accent-deep);animation:portal-progress .95s ease-in-out infinite;content:""}.portal-progress p{margin:0;color:var(--muted);font-weight:800}.portal-files a,.portal-user-list article,.message-list article{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fbfcfa}.portal-files a{color:var(--accent-deep);font-weight:850}.portal-user-list article{display:grid;gap:2px}.portal-user-list span,.portal-user-list a{color:var(--muted);font-size:.92rem}.message-list article{display:grid;gap:6px}.message-list p{color:var(--muted)}.portal-reply{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:16px}.ticket-empty{min-height:180px;align-content:center}@keyframes portal-progress{0%{transform:translate(0)}to{transform:translate(390%)}}@media(max-width:920px){:root{--page-pad: 24px}.site-header{align-items:flex-start;flex-wrap:wrap}.brand{min-width:0}.nav{order:3;width:100%}.hero,.why-section,.appointment-section,.contact-section,.site-footer{grid-template-columns:1fr}.hero{min-height:auto;padding-block:66px 76px}.hero-visual .image-frame{min-height:360px;aspect-ratio:16 / 10}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-cta{align-items:flex-start;flex-direction:column}.contact-form{width:100%;max-width:none;justify-self:stretch}.portal-login,.portal-grid{grid-template-columns:1fr}.portal-toolbar{display:grid}.portal-actions{justify-content:flex-start}}@media(max-width:620px){:root{--page-pad: 14px}body{line-height:1.62}.site-header{gap:12px;padding-block:12px}html{scroll-padding-top:142px}.hero,.section,.why-section,.appointment-section,.contact-section,.legal-page{scroll-margin-top:142px}.brand{max-width:220px;font-size:.94rem}.logo-mark{width:38px}.site-header .button-small{width:100%;flex-basis:100%}.nav{gap:12px;font-size:.86rem}.hero{padding-block:38px 52px}.hero h1{max-width:100%;font-size:2rem;line-height:1.1;overflow-wrap:anywhere}.hero p{max-width:100%;margin-block-start:16px;font-size:.98rem;overflow-wrap:anywhere}.hero-actions .button,.contact-actions .button,.form-actions .button{width:100%}.phone-list{display:grid;gap:6px}.section,.why-section,.appointment-section,.contact-section,.legal-page{padding-block:54px}.section-heading h2,.why-section h2,.contact-details h2,.legal-page h1{font-size:1.82rem;line-height:1.14;overflow-wrap:anywhere}.service-grid,.form-grid{grid-template-columns:1fr}.service-card{min-height:auto;padding:18px}.service-card span{margin-bottom:18px}.service-card p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;font-size:.9rem}.hero-visual .image-frame,.why-placeholder,.appointment-placeholder{min-height:220px;aspect-ratio:16 / 10}.form-panel,.contact-form{padding:18px}.steps span{font-size:.82rem}.review-panel div{grid-template-columns:1fr;gap:4px}.map-frame{min-height:280px}.site-footer{gap:26px;padding-block:42px}.portal-page{padding-block:38px 54px}.portal-intro h1,.portal-toolbar h1{font-size:2rem}.portal-form-grid,.ticket-detail-head,.upload-form{grid-template-columns:1fr}.portal-actions .button{width:100%}}
