:root{--ink:#102d28;--green:#0c7257;--green-dark:#085b46;--lime:#c9ef75;--mint:#e4f2ec;--cream:#f8f5ee;--white:#fff;--line:#ccd9d3;--muted:#526862;--radius-sm:10px;--radius:18px;--radius-lg:28px;--shadow:0 16px 40px #102d2817}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.65 Arial,sans-serif}h1,h2,h3,.brand,strong{font-family:Arial,sans-serif}h1,h2,h3,p{margin-top:0}a{color:inherit}.nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff7;border-bottom:1px solid #102d2814;justify-content:space-between;align-items:center;min-height:86px;padding:0 clamp(1.25rem,6vw,6rem);display:flex;position:sticky;top:0;box-shadow:0 4px 18px #102d280d}.brand{text-decoration:none}.brand-lockup{align-items:center;gap:.7rem;display:inline-flex}.brand-name{letter-spacing:-.055em;font-size:1.5rem;font-weight:800;line-height:1}.brand-name>span{color:var(--green)}.brand-mark{background:var(--ink);border-radius:11px;width:36px;height:36px;display:inline-block;position:relative;transform:rotate(-3deg);box-shadow:inset 0 0 0 1px #ffffff1a}.brand-mark i{border:3px solid var(--lime);border-right:0;border-radius:5px 0 0 5px;width:11px;height:18px;display:block;position:absolute;top:9px}.brand-mark i:first-child{left:8px}.brand-mark i:last-child{left:17px;transform:rotate(180deg)}.nav .desktop-nav{align-items:center;gap:2rem;display:flex}.nav nav a{font-weight:600;text-decoration:none;position:relative}.nav nav a:not(.button):after{content:"";background:var(--green);height:2px;transition:right .2s;position:absolute;bottom:-5px;left:0;right:100%}.nav nav a:not(.button):hover:after{right:0}.menu-toggle,.mobile-nav{display:none}.button,button{background:var(--green);color:#fff;font:700 inherit;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.9rem 1.4rem;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex;box-shadow:0 6px 16px #0c725729}.button:hover,button:hover{background:var(--green-dark);transform:translateY(-2px);box-shadow:0 9px 22px #0c725738}.button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.button.small{padding:.7rem 1.1rem}.button.light{background:var(--lime);color:var(--ink)}.button.light:hover{background:#d6f68e}.button.secondary{background:var(--white);color:var(--green);border:1px solid #0c725733;box-shadow:0 5px 15px #102d2812}main section{padding:clamp(4rem,8vw,7.5rem) clamp(1.25rem,8vw,9rem)}.hero,.page-hero{background:var(--ink);color:#fff}.hero{padding-top:clamp(5rem,10vw,9rem);position:relative;overflow:hidden}.hero:after{content:"";pointer-events:none;border:70px solid #c9ef7512;border-radius:50%;width:420px;height:420px;position:absolute;top:-170px;right:-170px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700}.green{color:var(--green)}h1{letter-spacing:-.065em;max-width:1100px;margin:.5rem 0 1.5rem;font-size:clamp(3rem,7vw,6.8rem);line-height:1}h1 em{color:var(--lime);font-style:normal}h2{letter-spacing:-.045em;font-size:clamp(2rem,4vw,3.7rem);line-height:1.08}h3{line-height:1.25}.lead{color:#c8dad5;max-width:700px;font-size:clamp(1.05rem,2vw,1.35rem)}.lead.dark{color:var(--ink)}.search{border-radius:var(--radius);background:#fff;border:7px solid #fff;grid-template-columns:1fr 1fr auto;gap:0;max-width:1050px;margin-top:3rem;display:grid;position:relative;overflow:hidden;box-shadow:0 22px 50px #0003}.search label{color:var(--ink);text-transform:uppercase;letter-spacing:.08em;border-right:1px solid var(--line);background:#fff;padding:.7rem 1.1rem;font-size:.7rem;font-weight:700}.search input{background:0 0;border:0;outline:0;width:100%;padding:.3rem 0;font-size:1rem;display:block}.search button{border-radius:12px;margin-left:7px;padding:0 2rem}.category-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem;display:grid}.category{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff61;min-height:235px;padding:1.6rem;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s}.category:hover{background:var(--white);box-shadow:var(--shadow);transform:translateY(-4px)}.category span,.tag{color:var(--green);font-size:.7rem}.category h3{margin-top:3rem;font-size:1.3rem}.category p{color:var(--muted);font-size:.88rem}.tint{background:var(--mint)}.section-head{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1rem;display:flex}.cards{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.card{border-radius:var(--radius);background:#fff;border:1px solid #102d280f;padding:1.75rem;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;box-shadow:0 5px 16px #102d280a}.card:hover{box-shadow:var(--shadow);border-color:#0c725759;transform:translateY(-5px)}.monogram{background:linear-gradient(145deg,var(--ink),#17463e);width:66px;height:66px;color:var(--lime);letter-spacing:.08em;border-radius:22px 22px 22px 7px;place-items:center;margin-bottom:2rem;font-size:1.05rem;font-weight:800;display:grid;position:relative;box-shadow:0 9px 20px #102d2833}.monogram:after{content:"";border:1px solid #c9ef753d;border-radius:17px 17px 17px 4px;position:absolute;inset:6px}.monogram.big{border-radius:36px 36px 36px 10px;width:116px;height:116px;margin:0;font-size:2rem}.tag{text-transform:uppercase;letter-spacing:.1em;font-weight:700}.business-cta{background:var(--green);color:#fff;grid-template-columns:1.5fr 1fr;gap:5rem;display:grid}.offer{border-left:1px solid #6eb49f;padding-left:3rem}.offer strong{color:var(--lime);margin:1rem 0;font-size:clamp(3rem,6vw,6rem);line-height:.9;display:block}.page-hero h1{font-size:clamp(3rem,6vw,5.5rem)}.page-hero.compact{padding-top:4rem;padding-bottom:4rem}.directory-row{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff59;grid-template-columns:1fr 2fr;margin-bottom:1rem;padding:2rem;display:grid}.directory-row h2{font-size:1.5rem}.directory-row>div{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.directory-row a{border-radius:var(--radius-sm);justify-content:space-between;padding:.7rem 1rem;text-decoration:none;transition:background .2s;display:flex}.directory-row a:hover{background:var(--mint)}.results{gap:1rem;display:grid}.result{border-radius:var(--radius);background:#fff;border:1px solid #0000;grid-template-columns:auto 1fr auto;gap:2rem;padding:2rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:grid;box-shadow:0 5px 16px #102d280a}.result:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.result h2{font-size:1.6rem}.empty{border-radius:var(--radius);background:#fff;padding:3rem}.profile-hero{background:var(--mint);align-items:center;gap:2rem;display:flex}.profile-hero h1{font-size:clamp(2.5rem,5vw,5rem)}.profile{grid-template-columns:1.4fr 1fr;gap:5rem;display:grid}.profile article h3{margin-top:3rem}.profile aside,.panel{border-radius:var(--radius-lg);box-shadow:var(--shadow);background:#fff;border:1px solid #102d2812;padding:clamp(1.5rem,4vw,3rem)}.stack{gap:1.1rem;display:grid}.stack label{font-size:.85rem;font-weight:700}.stack input,.stack textarea,.stack select{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;font:inherit;background:#fff;margin-top:.25rem;padding:.85rem 1rem;transition:border-color .2s,box-shadow .2s;display:block}.stack input:focus,.stack textarea:focus,.stack select:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 4px #0c72571a}.auth-secondary{border-top:1px solid var(--line);text-align:center;justify-items:center;gap:.65rem;margin-top:.35rem;padding-top:1.25rem;display:grid}.auth-secondary p{color:var(--muted);margin:0}.auth-secondary .button{width:100%}.consent{align-items:flex-start;gap:.65rem;font-weight:400!important;display:flex!important}.consent input{accent-color:var(--green);width:auto!important;margin-top:.35rem!important}.pills{flex-wrap:wrap;gap:.5rem;display:flex}.pills span{border:1px solid var(--line);background:var(--white);border-radius:50px;padding:.5rem 1rem}.text-link{background:var(--ink);color:#fff;border-radius:999px;margin-top:1.5rem;padding:.75rem 1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.fine{font-size:.75rem}.steps{grid-template-columns:repeat(3,1fr);gap:1.25rem;display:grid}.steps>div{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff73;padding:2rem}.steps b{color:var(--green)}.steps.vertical{grid-template-columns:1fr;gap:1rem}.auth{grid-template-columns:1fr 1fr;align-items:start;gap:5rem;display:grid}.auth h1,.dashboard-head h1{font-size:clamp(3rem,6vw,5rem)}.dashboard-head{padding-bottom:3rem}.dashboard{grid-template-columns:220px 1fr;gap:3rem;padding-top:0;display:grid}.dash-nav{border:1px solid var(--line);border-radius:var(--radius);background:#ffffff73;flex-direction:column;gap:.3rem;padding:1rem;display:flex}.dash-nav a,.dash-nav span,.dash-nav b{border-radius:9px;padding:.55rem .7rem;text-decoration:none}.dash-nav a:hover{background:var(--mint)}.stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1rem;display:grid}.stats>div{background:var(--mint);border-radius:var(--radius);padding:1.5rem}.stats span{font-size:.8rem;display:block}.stats strong{font-size:2rem}.dashboard .panel{margin-bottom:1rem}.wide{max-width:850px}.two{grid-template-columns:1fr 1fr;gap:1rem;display:grid}footer{background:var(--ink);color:#fff;grid-template-columns:2fr 1fr;gap:2rem;padding:4rem clamp(1.25rem,8vw,9rem);display:grid}.footer-brand .brand-name{color:#fff}.footer-brand .brand-mark{background:#17463e}footer div:nth-child(2){flex-direction:column;gap:.25rem;display:flex}footer div:nth-child(2) a{text-decoration:none}footer div:nth-child(2) a:hover{color:var(--lime)}footer small{color:#98aaa5;border-top:1px solid #34504b;grid-column:1/-1;padding-top:2rem}@media (max-width:800px){.nav{min-height:74px;padding-block:.65rem}.nav .desktop-nav{display:none}.menu-toggle{border:1px solid var(--line);background:var(--white);width:46px;height:46px;color:var(--ink);border-radius:14px;place-content:center;gap:5px;padding:0;display:grid;box-shadow:0 4px 12px #102d2814}.menu-toggle:hover{background:var(--mint);transform:none;box-shadow:0 4px 12px #102d2814}.menu-toggle span{background:currentColor;border-radius:2px;width:21px;height:2px;transition:transform .2s,opacity .2s;display:block}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px)rotate(-45deg)}.mobile-nav{visibility:hidden;opacity:0;pointer-events:none;border-bottom:1px solid var(--line);border-radius:0 0 var(--radius) var(--radius);background:#fffffffa;flex-direction:column;gap:.25rem;padding:.8rem 1.25rem 1.25rem;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;top:100%;left:0;right:0;transform:translateY(-8px);box-shadow:0 16px 30px #102d2824}.mobile-nav.open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav a:not(.button){border-radius:var(--radius-sm);padding:.75rem .8rem}.mobile-nav a:not(.button):hover{background:var(--mint)}.mobile-nav .button{margin-top:.35rem}.brand-name{font-size:1.25rem}.brand-mark{width:32px;height:32px}.brand-mark i{top:7px}main section{padding-block:4rem}h1{font-size:clamp(2.65rem,13vw,4.5rem)}.category-grid,.cards,.business-cta,.profile,.auth,.dashboard{grid-template-columns:1fr}.search{border-width:5px;grid-template-columns:1fr}.search label{border-right:0;border-bottom:1px solid var(--line)}.search button{margin:5px 0 0;padding:1rem}.section-head{flex-direction:column;align-items:flex-start;margin-bottom:2rem}.directory-row{grid-template-columns:1fr;padding:1.25rem}.directory-row>div,.steps{grid-template-columns:1fr}.offer{border:0;padding:0}.result{grid-template-columns:auto 1fr;gap:1.25rem;padding:1.4rem}.result>span,.dash-nav{display:none}.profile-hero{flex-direction:column;align-items:flex-start}.stats,.two,footer{grid-template-columns:1fr}}@media (max-width:430px){.nav .button.small{padding:.62rem .8rem;font-size:.78rem}.brand-lockup{gap:.5rem}.brand-name{font-size:1.08rem}.category{min-height:205px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
