.home-hero,.directory-landing,.state-landing{position:relative;overflow:hidden;background:#07131d;color:#eaf6f7}.home-hero:before,.directory-landing:before,.state-landing:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 12%,rgba(55,210,215,.14),transparent 27%),radial-gradient(circle at 13% 72%,rgba(244,178,83,.08),transparent 24%),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:auto,auto,42px 42px,42px 42px}.home-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);align-items:center;gap:clamp(35px,7vw,95px);min-height:630px;padding-block:100px}.home-kicker,.directory-intro>p,.state-hero>div>p,.home-section-head span{margin:0 0 14px;color:#62dfe0;font-size:.74rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.home-hero h1,.directory-intro h1,.state-hero h1{max-width:830px;margin:0;color:#fff;font-size:clamp(2.8rem,6.5vw,6.2rem);line-height:.96;letter-spacing:-.055em}.home-intro,.directory-intro .markdown-content,.state-hero .markdown-content,.state-hero>div>p:last-child{max-width:740px;margin-top:24px;color:#b7cbd1;font-size:clamp(1rem,1.5vw,1.16rem);line-height:1.8}.home-city-jump{max-width:690px;margin-top:34px;padding:10px;border:1px solid rgba(98,223,224,.25);border-radius:18px;background:rgba(255,255,255,.055);backdrop-filter:blur(12px)}.home-city-jump>label{display:block;padding:2px 7px 8px;color:#8eabb3;font-size:.72rem;font-weight:800;text-transform:uppercase}.home-city-jump>div{display:flex;gap:10px}.home-city-jump select,.directory-location-filter select{width:100%;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:11px;background:#0b202c;color:#fff}.home-city-jump button,.directory-location-filter button{padding:14px 21px;border:0;border-radius:11px;background:#66e2df;color:#06161c;font-weight:900;white-space:nowrap}.home-hero-links{display:flex;gap:18px;margin-top:22px}.home-hero-links a{color:#d7e7ea;font-weight:700}.home-orbit{position:relative;display:grid;gap:14px;padding:28px;border:1px solid rgba(255,255,255,.1);border-radius:50% 50% 38% 44%;background:linear-gradient(145deg,rgba(28,73,83,.7),rgba(8,24,35,.9));box-shadow:0 30px 90px rgba(0,0,0,.35);animation:softFloat 7s ease-in-out infinite}.home-orbit div{padding:14px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.home-orbit div:last-of-type{border-bottom:0}.home-orbit strong{display:block;color:#fff;font-size:2rem}.home-orbit span{color:#98b0b7}.home-section{padding-block:82px}.home-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:27px}.home-section-head h2,.home-content h2,.directory-long-content h2,.state-long-content h2,.state-city-panel h2{margin:0;color:#10232c;font-size:clamp(1.8rem,3.5vw,3rem);letter-spacing:-.035em}.home-section-head>a{color:#147d82;font-weight:900}.directory-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.directory-profile-card{overflow:hidden;border:1px solid #dce6e8;border-radius:22px;background:#fff;box-shadow:0 18px 50px rgba(15,45,56,.08);transition:transform .28s ease,box-shadow .28s ease}.directory-profile-card:hover{transform:translateY(-6px);box-shadow:0 25px 70px rgba(15,45,56,.15)}.directory-profile-image{position:relative;display:block;aspect-ratio:4/4.7;overflow:hidden;background:#dcecee}.directory-profile-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.directory-profile-card:hover img{transform:scale(1.04)}.directory-profile-image>span{position:absolute;top:13px;left:13px;padding:6px 9px;border-radius:999px;background:rgba(5,31,38,.78);color:#8ff0df;font-size:.7rem;font-weight:900;backdrop-filter:blur(8px)}.directory-profile-body{padding:18px}.directory-profile-body>p{margin:0;color:#38858a;font-size:.72rem;font-weight:900;text-transform:uppercase}.directory-profile-body h3{margin:7px 0;font-size:1.38rem}.directory-profile-body h3 a{color:#112a34}.directory-profile-body>div:not(.directory-profile-actions){min-height:45px;color:#63757d;line-height:1.55}.directory-profile-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.directory-profile-actions a{padding:8px 10px;border-radius:9px;background:#e9f6f6;color:#176d72;font-size:.76rem;font-weight:900}.directory-profile-actions .wa{background:#e4f7ec;color:#1b7446}.home-city-section{padding-block:82px;background:#eef7f6}.home-state-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.home-state-grid article a{display:block;min-height:160px;padding:22px;border:1px solid #d4e4e4;border-radius:18px;background:linear-gradient(145deg,#fff,#e7f3f2);transition:transform .25s ease,border-color .25s ease}.home-state-grid article a:hover{transform:translateY(-4px);border-color:#75d7d5}.home-state-grid small{color:#648087}.home-state-grid h3{margin:25px 0 9px;color:#102a32;font-size:1.35rem}.home-state-grid span{color:#168087;font-size:.8rem;font-weight:900}.home-content,.directory-long-content,.state-long-content{margin-block:20px 90px;padding:clamp(24px,5vw,55px);border:1px solid #dce8e9;border-radius:26px;background:#f6faf9;color:#445b64}.home-content .markdown-content,.directory-long-content .markdown-content,.state-long-content .markdown-content{margin-top:20px;max-width:900px;line-height:1.85}.directory-landing,.state-landing{padding-block:55px 90px}.directory-landing>.shell,.state-landing>.shell{position:relative}.directory-intro{max-width:900px;padding:55px 0 38px}.directory-location-filter{display:grid;grid-template-columns:1fr 1fr auto auto;align-items:end;gap:12px;padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.05)}.directory-location-filter label{display:grid;gap:7px;color:#a9bdc4;font-size:.78rem;font-weight:800}.directory-location-filter>a{padding:14px;color:#a8c7cc}.directory-state-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 65px}.directory-state-index article{padding:20px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(255,255,255,.045)}.directory-state-index h2{margin:0 0 14px}.directory-state-index h2 a{color:#fff}.directory-state-index article div{display:flex;flex-wrap:wrap;gap:7px}.directory-state-index article div a{padding:6px 9px;border-radius:8px;background:rgba(103,225,222,.09);color:#aee5e4;font-size:.8rem}.directory-results-head h2,.state-results-head h2{color:#fff}.directory-results-head>strong,.state-results-head>strong{color:#8fb0b8}.directory-landing .directory-profile-card,.state-landing .directory-profile-card{color:#263c45}.directory-landing .pagination,.state-landing .pagination{margin-block:30px}.directory-long-content,.state-long-content{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);color:#b8cbd0}.directory-long-content h2,.state-long-content h2{color:#fff}.state-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:50px;align-items:end;padding:55px 0}.state-hero aside{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:20px;background:rgba(255,255,255,.05)}.state-hero aside strong{color:#68dfde;font-size:1.7rem}.state-hero aside span{align-self:center;color:#aec0c6}.state-city-panel{margin:10px 0 70px}.state-city-panel h2{margin-bottom:22px;color:#fff}.state-city-panel>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.state-city-panel a{display:flex;flex-direction:column;justify-content:space-between;min-height:115px;padding:17px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));transition:transform .25s ease,border-color .25s ease}.state-city-panel a:hover{transform:translateY(-4px);border-color:#5ed8d8}.state-city-panel span{color:#fff;font-size:1.05rem;font-weight:800}.state-city-panel b{color:#73dedd;font-size:.75rem}.directory-empty{grid-column:1/-1;padding:40px;border:1px dashed rgba(255,255,255,.2);border-radius:18px;text-align:center}@keyframes softFloat{50%{transform:translateY(-10px) rotate(1deg)}}@media(max-width:950px){.home-hero-grid,.state-hero{grid-template-columns:1fr}.home-orbit{border-radius:28px;grid-template-columns:repeat(3,1fr)}.directory-profile-grid,.directory-state-index{grid-template-columns:repeat(2,minmax(0,1fr))}.home-state-grid,.state-city-panel>div{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.home-hero-grid{min-height:auto;padding-block:70px}.home-hero h1,.directory-intro h1,.state-hero h1{font-size:clamp(2.5rem,13vw,4rem)}.home-city-jump>div,.home-hero-links{flex-direction:column}.home-orbit{grid-template-columns:1fr}.home-section{padding-block:58px}.home-section-head{align-items:flex-start;flex-direction:column}.directory-profile-grid,.directory-state-index,.home-state-grid,.state-city-panel>div{grid-template-columns:1fr}.directory-location-filter{grid-template-columns:1fr}.directory-profile-card{display:grid;grid-template-columns:42% 58%;border-radius:17px}.directory-profile-image{height:100%;aspect-ratio:auto}.directory-profile-body{padding:14px}.directory-profile-actions a{padding:7px;font-size:.69rem}}@media(prefers-reduced-motion:reduce){.home-orbit{animation:none}.directory-profile-card,.directory-profile-image img,.home-state-grid article a,.state-city-panel a{transition:none}}


/* Directory readability, navigator and card badges */
.directory-landing .markdown-content,
.state-landing .markdown-content,
.directory-landing .markdown-content p,
.state-landing .markdown-content p,
.directory-landing .markdown-content li,
.state-landing .markdown-content li,
.directory-long-content,
.directory-long-content p,
.directory-long-content li,
.state-long-content,
.state-long-content p,
.state-long-content li {
    color:#c9dadd !important;
}

.city-navigator {
    margin-top:28px;
    grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;
}

.home-hero .city-navigator {
    max-width:760px;
}

.city-navigator button:disabled {
    cursor:not-allowed;
    opacity:.45;
}

.city-navigator select:disabled {
    cursor:not-allowed;
    opacity:.58;
}

.profile-card-badges {
    position:absolute;
    z-index:4;
    top:12px;
    left:12px;
    right:12px;
    display:flex;
    align-items:flex-start;
    flex-wrap:wrap;
    gap:6px;
    pointer-events:none;
}

.profile-card-badges .profile-badge {
    display:inline-flex;
    position:static;
    width:auto;
    padding:5px 8px;
    border:1px solid transparent;
    border-radius:999px;
    color:#fff;
    font-size:.64rem;
    font-weight:900;
    line-height:1;
    letter-spacing:.025em;
    text-transform:uppercase;
    box-shadow:0 5px 16px rgba(0,0,0,.2);
    backdrop-filter:blur(9px);
}

.profile-card-badges .badge-verified {
    border-color:rgba(116,255,231,.28);
    background:rgba(5,48,53,.86);
    color:#91f4e3;
}

.profile-card-badges .badge-featured {
    border-color:rgba(255,220,129,.32);
    background:rgba(89,58,8,.88);
    color:#ffe092;
}

.profile-card-badges .badge-popular {
    border-color:rgba(231,174,255,.3);
    background:rgba(74,25,91,.88);
    color:#efbdff;
}

.profile-card-badges .badge-new {
    border-color:rgba(144,255,176,.3);
    background:rgba(13,81,43,.88);
    color:#a4ffc0;
}

@media(max-width:620px) {
    .city-navigator {
        grid-template-columns:1fr;
    }

    .profile-card-badges {
        top:8px;
        left:8px;
        right:8px;
        gap:4px;
    }

    .profile-card-badges .profile-badge {
        padding:4px 6px;
        font-size:.56rem;
    }
}
/* Profile-page badges and clickable categories */
.profile-page-badges {
    margin: 0 0 22px;
}

.profile-page-badges:empty {
    display: none;
}

.profile-page-badges .profile-card-badges {
    position: static;
    inset: auto;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    pointer-events: auto;
}

.profile-page-badges .profile-badge {
    padding: 8px 12px;
    font-size: .72rem;
    line-height: 1;
    letter-spacing: .035em;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
}

.profile-category-link {
    color: #087f83;
    font-weight: 800;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
    transition:
        color .2s ease,
        text-decoration-color .2s ease;
}

.profile-category-link:hover,
.profile-category-link:focus-visible {
    color: #12aeb1;
    text-decoration-thickness: 2px;
}

.aqua-profile .profile-category-link {
    color: #78f1e8;
}

.aqua-profile .profile-category-link:hover,
.aqua-profile .profile-category-link:focus-visible {
    color: #ffffff;
}

@media (max-width: 620px) {
    .profile-page-badges {
        margin-bottom: 16px;
    }

    .profile-page-badges .profile-card-badges {
        gap: 6px;
    }

    .profile-page-badges .profile-badge {
        padding: 6px 9px;
        font-size: .64rem;
    }
}
/* Clickable profile service chips */
.profile-services .service-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.profile-services .profile-service-link {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 9px 14px;
    border: 1px solid rgba(45, 212, 191, .28);
    border-radius: 999px;
    background:
        linear-gradient(
            135deg,
            rgba(13, 148, 136, .15),
            rgba(8, 127, 131, .08)
        );
    color: #b9fff8;
    font-size: .86rem;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;
}

.profile-services .profile-service-link::after {
    content: "→";
    margin-left: 8px;
    opacity: .65;
    transition: transform .2s ease;
}

.profile-services .profile-service-link:hover,
.profile-services .profile-service-link:focus-visible {
    border-color: rgba(94, 234, 212, .72);
    background:
        linear-gradient(
            135deg,
            rgba(13, 148, 136, .34),
            rgba(8, 127, 131, .2)
        );
    color: #ffffff;
    box-shadow: 0 10px 26px rgba(5, 150, 138, .16);
    transform: translateY(-2px);
}

.profile-services .profile-service-link:hover::after,
.profile-services .profile-service-link:focus-visible::after {
    transform: translateX(3px);
}

@media (max-width: 620px) {
    .profile-services .service-chips {
        gap: 8px;
    }

    .profile-services .profile-service-link {
        min-height: 37px;
        padding: 8px 11px;
        font-size: .78rem;
    }
}