*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f6f6f1;color:#17322f;font:15px/1.6 "Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid #e1e5e1;background:#ffffffef;backdrop-filter:blur(16px)}.header-inner{display:flex;height:76px;align-items:center;gap:35px}.brand{display:flex;align-items:center;gap:11px}.brand img{width:44px;height:44px;object-fit:contain}.brand-mark{display:grid;width:41px;height:41px;place-items:center;border-radius:11px;background:var(--primary);color:#e8b73d;box-shadow:0 7px 20px #14322d2b}.brand b,.brand small{display:block}.brand b{font-size:19px;letter-spacing:-.04em}.brand small{color:#73817d;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.header-inner nav{display:flex;align-items:center;gap:25px;margin-left:auto}.header-inner nav a{color:#53645f;font-size:13px;font-weight:650}.header-inner nav a:hover{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:9px}.header-actions select{height:38px;border:1px solid #d5ddd8;border-radius:9px;background:white;padding:0 9px}.link{font-size:13px;font-weight:700}.button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border:0;border-radius:10px;background:var(--primary);color:white;padding:9px 17px;font-weight:750;cursor:pointer}.button:hover{filter:brightness(.94)}.button-accent{background:var(--accent)}.button-outline{border:1px solid #ccd6d1;background:white;color:#2d514b}.button-small{min-height:33px;padding:6px 11px;font-size:12px}.mobile-toggle{display:none;margin-left:auto;border:1px solid #d5ddd8;border-radius:8px;background:white;padding:7px 10px}.flash{position:fixed;z-index:100;top:88px;left:50%;transform:translateX(-50%);padding:11px 17px;border-radius:999px;box-shadow:0 12px 32px #14342f33;font-size:13px;font-weight:700}.flash-success{background:#24695b;color:white}.flash-error{background:#a84235;color:white}
.hero{position:relative;overflow:hidden;background:var(--primary);color:white}.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.24}.hero:before{content:"";position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 85% 20%,#e5b34355,transparent 28%),radial-gradient(circle at 10% 0,#5da09244,transparent 36%),linear-gradient(90deg,#123a35ee,#123a3599)}.hero-inner{position:relative;z-index:2;padding:75px 0 68px}.eyebrow{display:inline-block;color:#efc762;font-size:10px;font-weight:850;letter-spacing:.2em;text-transform:uppercase}.hero h1{max-width:830px;margin:12px 0 16px;font-size:clamp(2.6rem,6vw,4.8rem);line-height:1;letter-spacing:-.055em}.hero-copy{max-width:730px;color:#c8d9d5;font-size:18px}.search-panel{display:grid;grid-template-columns:minmax(260px,1fr) 200px 220px auto;gap:8px;margin-top:34px;padding:10px;border-radius:17px;background:white;box-shadow:0 22px 55px #0b221f66}.search-panel input,.search-panel select{height:48px;border:0;border-radius:9px;background:#f5f6f3;padding:0 13px;outline:none}.search-panel button{min-height:48px;background:#d8a52c;color:#17322f}.stats{display:flex;flex-wrap:wrap;gap:28px;margin-top:22px;color:#bcd0cb;font-size:12px}.stats b{color:white;font-size:15px}
.section{padding:65px 0}.section-alt{border-top:1px solid #e0e4df;background:#eef0eb}.section-head{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:27px}.section-head h2{margin:4px 0 5px;font-size:clamp(1.8rem,4vw,2.5rem);line-height:1.1;letter-spacing:-.035em}.section-head p{margin:0;color:#6a7974}.kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.2em;text-transform:uppercase}.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.category-card{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid #dbe1dd;border-radius:15px;background:white;box-shadow:0 5px 18px #17352f0a;transition:.2s}.category-card:hover{transform:translateY(-2px);border-color:#91aaa4}.category-icon{display:grid;width:43px;height:43px;place-items:center;border-radius:12px;background:#e7f0ed;color:#28685d;font-size:21px}.category-card b,.category-card small{display:block}.category-card small{margin-top:3px;color:#82908c}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.business-card{overflow:hidden;border:1px solid #d9e0db;border-radius:18px;background:white;box-shadow:0 8px 25px #17352f0d}.business-cover{position:relative;height:190px;background:#dfe5e1}.business-cover img{width:100%;height:100%;object-fit:cover}.business-cover .placeholder{display:grid;height:100%;place-items:center;color:#89a19b;font-size:50px}.pills{position:absolute;top:14px;left:14px;display:flex;gap:6px}.pill{display:inline-flex;align-items:center;border-radius:999px;background:#dff1e9;color:#21654c;padding:5px 8px;font-size:9px;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.pill-gold{background:#f9e7b6;color:#765509}.pill-gray{background:#e9edeb;color:#5c6d68}.business-body{padding:19px}.business-meta{display:flex;justify-content:space-between;color:#8a4940;font-size:10px;font-weight:800;text-transform:uppercase}.business-card h3{margin:9px 0 4px;font-size:19px;line-height:1.25}.location{color:#81908b;font-size:11px}.business-desc{min-height:65px;color:#63726e;font-size:13px}.tags{display:flex;flex-wrap:wrap;gap:5px}.tags span{border-radius:6px;background:#f0f2ef;padding:4px 7px;color:#62716d;font-size:10px}.card-footer{display:flex;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #edf0ed}.card-footer .button{flex:1}.empty{padding:65px;border:1px dashed #b8c5c0;border-radius:17px;text-align:center;color:#71807b}.pagination{display:flex;justify-content:center;gap:6px;margin-top:30px}.pagination a,.pagination span{display:grid;width:36px;height:36px;place-items:center;border:1px solid #d2dad5;border-radius:9px;background:white}.pagination .active{background:var(--primary);color:white}.cta{background:var(--primary);color:white}.cta .shell{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-top:52px;padding-bottom:52px}.cta h2{margin:5px 0;font-size:2.2rem}.cta p{margin:0;color:#bfd0cc}
.site-footer{background:#fbfbf8}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px;padding:50px 0}.footer-grid h4{margin:0 0 13px}.footer-grid p,.footer-grid a{display:block;margin:8px 0;color:#697873;font-size:13px}.footer-bottom{display:flex;justify-content:space-between;padding:17px 0;border-top:1px solid #e2e6e2;color:#84908c;font-size:11px}
.page-hero{padding:55px 0;background:var(--primary);color:white}.page-hero h1{margin:5px 0;font-size:clamp(2rem,5vw,3.5rem)}.content-card{margin:35px auto;padding:30px;border:1px solid #dce2de;border-radius:17px;background:white}.content-card img{max-width:100%}.auth-wrap{display:grid;min-height:calc(100vh - 76px);place-items:center;padding:45px 20px;background:#edf0eb}.auth-card{width:min(520px,100%);padding:30px;border:1px solid #d9e0dc;border-radius:19px;background:white;box-shadow:0 20px 55px #17352f16}.auth-card h1{margin:0 0 5px;font-size:29px}.auth-card>p{margin:0 0 24px;color:#73817d}.form-grid{display:grid;gap:15px}.form-grid.two{grid-template-columns:1fr 1fr}.field{display:grid;gap:6px}.field label{color:#425b56;font-size:12px;font-weight:750}.field input,.field select,.field textarea{width:100%;min-height:42px;border:1px solid #ced8d2;border-radius:9px;background:white;padding:9px 11px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#559087;box-shadow:0 0 0 3px #55908720}.field small{color:#87948f}.form-error{padding:11px;border-radius:9px;background:#fff0ed;color:#9c382e;font-size:13px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.business-hero{position:relative;min-height:390px;background:#cfd9d5;color:white}.business-hero img{position:absolute;width:100%;height:100%;object-fit:cover}.business-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d2d29e8,#0d2d2944)}.business-hero .shell{position:relative;z-index:2;padding-top:120px;padding-bottom:65px}.business-hero h1{max-width:800px;margin:10px 0;font-size:clamp(2.4rem,6vw,4.3rem);line-height:1}.business-layout{display:grid;grid-template-columns:1fr 320px;gap:25px;padding:38px 0}.contact-box{position:sticky;top:100px;align-self:start;padding:22px;border:1px solid #d8e0db;border-radius:16px;background:white}.contact-box a{display:block;margin:10px 0;color:#526661;font-size:13px}.richtext{color:#4e625d;line-height:1.8}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.gallery img{width:100%;height:160px;object-fit:cover;border-radius:10px}.quote-box{margin-top:20px;padding:22px;border-radius:15px;background:#eef2ee}
.company-tabs{position:sticky;z-index:40;top:76px;border-bottom:1px solid #dbe1dd;background:#fffffff2;backdrop-filter:blur(14px)}.company-tabs .shell{display:flex;gap:7px;overflow-x:auto}.company-tabs a{display:flex;align-items:center;gap:8px;border-bottom:3px solid transparent;padding:17px 18px;color:#60716c;font-size:13px;font-weight:750;white-space:nowrap}.company-tabs a.active{border-color:var(--accent);color:var(--primary)}.company-tabs a span{display:grid;min-width:22px;height:22px;place-items:center;border-radius:999px;background:#e9eeeb;font-size:10px}.company-main-card{margin-top:0}.profile-callout{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:28px;padding:23px;border-radius:15px;background:#edf2ef}.profile-callout h2{margin:4px 0}.profile-callout p{margin:0;color:#62736d}.section-head.compact{align-items:center;margin-bottom:18px}.section-head.compact h2{font-size:1.7rem}.google-map{display:block;width:100%;height:420px;border:0;border-radius:14px;background:#dfe5e1}.company-map-card{padding:22px}.directory-map{display:grid;grid-template-columns:330px 1fr;overflow:hidden;margin:0 0 30px;border:1px solid #d4dcd7;border-radius:18px;background:white;box-shadow:0 8px 28px #17352f10}.map-result-list{padding:24px}.map-result-list h3{margin:5px 0}.map-result-list>p{margin:0 0 15px;color:#71807b}.map-buttons{display:grid;max-height:360px;gap:7px;overflow:auto}.map-buttons button{display:grid;gap:2px;width:100%;border:1px solid #dce2de;border-radius:10px;background:#f8f9f6;padding:10px 12px;color:#294840;text-align:left;cursor:pointer}.map-buttons button:hover,.map-buttons button.active{border-color:#4e8c80;background:#e8f1ee}.map-buttons small{color:#71817b}.map-stage{position:relative;min-height:480px;background:#dfe5e1}.map-stage .google-map{height:100%;min-height:480px;border-radius:0}.map-open-link{position:absolute;right:15px;bottom:15px;border-radius:9px;background:white;padding:9px 13px;box-shadow:0 5px 20px #17352f33;font-size:12px;font-weight:750}.company-subpage{padding:48px 0 60px}.offering-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.offering-card{overflow:hidden;border:1px solid #d9e0db;border-radius:17px;background:white;box-shadow:0 8px 25px #17352f0d}.offering-card>img,.offering-placeholder{width:100%;height:210px;object-fit:cover}.offering-placeholder{display:grid;place-items:center;background:#e3ebe7;color:#5e837b;font-size:48px}.offering-body{padding:20px}.offering-body h3{margin:12px 0 7px;font-size:21px}.offering-body>p{color:#697974}.offering-body .richtext{font-size:13px}.price-text{display:block;margin-top:15px;color:var(--accent);font-size:16px}.tags.large span{padding:9px 13px;font-size:13px}.legacy-offerings{margin:0}.subpage-actions{display:flex;justify-content:space-between;gap:12px;margin-top:30px}.review-layout{display:grid;grid-template-columns:1fr 360px;gap:28px;padding:48px 0 65px}.review-layout .section-head{align-items:center}.rating-summary{display:flex;align-items:center;gap:12px}.rating-summary>b{font-size:42px;line-height:1}.rating-summary>span{color:#d39b18;font-size:18px}.rating-summary small{display:block;color:#71807b;font-size:11px}.review-list{display:grid;gap:14px}.review-card{padding:22px;border:1px solid #dbe1dd;border-radius:15px;background:white}.review-top{display:flex;align-items:center;gap:11px}.review-top>span{margin-left:auto;color:#d39b18}.review-top small{display:block;color:#87948f}.review-avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;background:var(--primary);color:white;font-weight:800}.review-card h3{margin:18px 0 5px}.review-card p{margin-bottom:0;color:#52645f}.review-form{position:sticky;top:150px;margin:0}.review-form>p{color:#71807b}.review-form .field{margin-bottom:13px}
@media(max-width:900px){.header-inner nav,.header-actions{display:none}.mobile-toggle{display:block}.header-inner nav.open{position:absolute;top:76px;left:0;right:0;display:grid;padding:15px 20px;background:white;border-bottom:1px solid #ddd}.search-panel{grid-template-columns:1fr 1fr}.search-panel input{grid-column:1/-1}.category-grid,.business-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1.5fr 1fr}.business-layout{grid-template-columns:1fr}.contact-box{position:static}}
@media(max-width:900px){.directory-map,.review-layout{grid-template-columns:1fr}.map-buttons{grid-template-columns:repeat(2,1fr);max-height:220px}.offering-grid{grid-template-columns:repeat(2,1fr)}.review-form{position:static}.company-tabs{top:76px}}
@media(max-width:620px){.shell{width:min(100% - 28px,1180px)}.hero-inner{padding:55px 0}.hero h1{font-size:2.7rem}.search-panel{grid-template-columns:1fr}.search-panel input{grid-column:auto}.category-grid,.business-grid,.footer-grid,.offering-grid{grid-template-columns:1fr}.section-head,.cta .shell,.profile-callout{align-items:flex-start;flex-direction:column}.footer-bottom{flex-direction:column;gap:7px}.form-grid.two{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.map-buttons{grid-template-columns:1fr}.map-stage,.map-stage .google-map{min-height:360px}.google-map{height:340px}.company-tabs a{padding:14px 12px}.subpage-actions{align-items:stretch;flex-direction:column}}
