/* Shared page components (2026-09-26): county guide row, logo strip, FAQ, tools chips, service links, closing band. */

/* County guide: collapsed row like the estimator; opens the map preview in place. */
.county-row{margin:28px auto 0;max-width:980px;background:#fff;border:1px solid #e3e6dc;border-radius:14px;overflow:hidden}
.county-row>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px}
.county-row>summary::-webkit-details-marker{display:none}
.county-row .county-sum-l{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14.5px;color:#3d4d43}
.county-row .county-sum-l b{color:#1f3a2c;font-size:15.5px}
.county-row .focus-loc{margin:0}
.county-row .county-open{font-size:13px;font-weight:700;color:#2f5a44;border:1px solid #d9e2d6;border-radius:7px;padding:7px 11px;white-space:nowrap}
.county-row .county-close-t{display:none}
.county-row[open] .county-open{background:#eef3ec}
.county-row[open] .county-open-t{display:none}
.county-row[open] .county-close-t{display:inline}
.county-row>summary:hover .county-open{background:#eef3ec}
.county-row>summary:focus-visible{outline:3px solid #315b46;outline-offset:-3px;border-radius:14px}
.county-row .county-feature{margin:0;max-width:none;border:0;border-top:1px solid #eceee7;border-radius:0;box-shadow:none}
.county-row .county-text h3,.county-row .county-text .focus-loc{display:none}

/* Organizations I've worked with: muted logos, slow loop, color on hover/focus/tap. */
.logo-strip{margin:34px 0 0;padding-top:24px;border-top:1px solid #e7e2d3}
.logo-strip-title{margin:0 0 14px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5d776a}
.logo-strip-window{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.logo-strip-track{display:flex;align-items:center;gap:44px;width:max-content;margin:0;padding:6px 0;list-style:none;animation:logo-strip-loop 60s linear infinite}
.logo-strip-window:hover .logo-strip-track,.logo-strip-window:focus-within .logo-strip-track{animation-play-state:paused}
.logo-strip-track li{flex:0 0 auto;display:flex;align-items:center;justify-content:center;height:64px}
.logo-strip-track img{display:block;height:46px;width:auto;max-width:170px;object-fit:contain;filter:grayscale(1);opacity:.55;transition:filter .35s ease,opacity .35s ease}
.logo-strip-track .logo-tile{display:flex;align-items:center;justify-content:center;height:56px;padding:8px 12px;border-radius:5px;filter:grayscale(1);opacity:.55;transition:filter .35s ease,opacity .35s ease}
.logo-strip-track .logo-tile img{filter:none;opacity:1;height:36px}
.logo-strip-track .logo-tile--illinois{background:#13294b}
.logo-strip-track .logo-tile--iup{background:#9e1b32}
.logo-strip-track li:hover img,.logo-strip-track li:hover .logo-tile,.logo-strip-track li:focus-within img,.logo-strip-track li:focus-within .logo-tile{filter:none;opacity:1}
.logo-strip-track .logo-tile:hover img{filter:none}
@keyframes logo-strip-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(hover:none){
 .logo-strip-track img,.logo-strip-track .logo-tile{filter:grayscale(.6);opacity:.8}
 .logo-strip.in-view .logo-strip-track img,.logo-strip.in-view .logo-strip-track .logo-tile{filter:none;opacity:1;transition-duration:1.2s}
 .logo-strip-track .logo-tile img{filter:none}
}
@media(prefers-reduced-motion:reduce){
 .logo-strip-track{animation:none;flex-wrap:wrap;width:auto;gap:18px 34px}
 .logo-strip-window{-webkit-mask-image:none;mask-image:none}
 .logo-strip-track [aria-hidden="true"]{display:none}
}

/* Common questions */
.ttb-faq{padding:52px 0 58px;background:#faf8f2;border-top:1px solid #e7e2d3}
.ttb-faq h2{margin:0 0 22px;font-size:32px;line-height:1.15;color:#1f3a2c}
.ttb-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.ttb-faq details{background:#fff;border:1px solid #e3e6dc;border-radius:12px}
.ttb-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:17px 20px;font-size:16.5px;font-weight:600;color:#1f3a2c}
.ttb-faq summary::-webkit-details-marker{display:none}
.ttb-faq summary::after{content:"+";flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#eef3ec;color:#315b46;font-size:18px;font-weight:600;transition:transform .2s ease}
.ttb-faq details[open] summary::after{transform:rotate(45deg)}
.ttb-faq summary:hover{color:#315b46}
.ttb-faq summary:focus-visible{outline:3px solid #315b46;outline-offset:2px;border-radius:12px}
.ttb-faq details>div{padding:0 20px 18px;color:#3d4d43;font-size:15px;line-height:1.6}
.ttb-faq details>div p{margin:0 0 10px}
.ttb-faq details>div a{color:#2f5a44;font-weight:600;text-decoration:underline;text-decoration-color:#c89321;text-underline-offset:3px}
.ttb-faq details>div a:hover{color:#1f3a2c;text-decoration-thickness:2px}
@media(max-width:800px){.ttb-faq-list{grid-template-columns:1fr}.ttb-faq h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.ttb-faq summary::after{transition:none}}

/* Tools chips: a slim loop inside the forest-green band. */
.tools-chips{position:relative;z-index:1;margin-top:20px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.tools-chips-track{display:flex;gap:12px;width:max-content;margin:0;padding:4px 0;list-style:none;animation:tools-chips-loop 70s linear infinite reverse}
.tools-chips:hover .tools-chips-track,.tools-chips:focus-within .tools-chips-track{animation-play-state:paused}
.tools-chips-track a,.tools-chips-track span.chip{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:999px;border:1px solid #ffffff2e;background:#274635;color:#f4f1e8;font-size:13px;font-weight:500;white-space:nowrap;text-decoration:none;transition:border-color .18s ease,color .18s ease,background .18s ease}
.tools-chips-track svg{width:15px;height:15px;flex:0 0 auto;color:#a9cf9a}
.tools-chips-track a:hover,.tools-chips-track a:focus-visible{border-color:#e3b653;color:#e3b653;background:#2c4d3b}
.tools-chips-track a:hover svg,.tools-chips-track a:focus-visible svg{color:#e3b653}
.tools-chips-track a:focus-visible{outline:2px solid #e3b653;outline-offset:2px}
.tools-chips-track .soon{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1f3a2c;background:#e3b653;border-radius:999px;padding:2px 7px}
@keyframes tools-chips-loop{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){
 .tools-chips{-webkit-mask-image:none;mask-image:none}
 .tools-chips-track{animation:none;flex-wrap:wrap;width:auto}
 .tools-chips-track [aria-hidden="true"]{display:none}
}

/* How I can help: compact service links with prices. */
.help-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}
.help-row a{display:flex;flex-direction:column;gap:6px;height:100%;padding:16px 18px;background:#fff;border:1px solid #dfe8e2;border-radius:12px;color:#1f3a2c;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.help-row a strong{font-size:15.5px;line-height:1.3}
.help-row a .help-price{font-family:Lora,Georgia,serif;font-size:20px;color:#315b46}
.help-row a small{font-size:13px;line-height:1.45;color:#50645a}
.help-row a:hover,.help-row a:focus-visible{transform:translateY(-2px);border-color:#b9cfc1;box-shadow:0 12px 22px -16px rgba(31,61,45,.5)}
.help-row a:focus-visible{outline:3px solid #315b46;outline-offset:2px}
.help-tag{align-self:flex-start;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#5d776a}
@media(max-width:900px){.help-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.help-row{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.help-row a{transition:none}.help-row a:hover{transform:none}}

/* Closing forest-green band with the calendar button. */
.cta-band{background:#1f3a2c;color:#f4f1e8;padding:46px 0}
.cta-band .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.cta-band h2{margin:0 0 6px;font-size:30px;line-height:1.15;color:#f4f1e8}
.cta-band p{margin:0;color:#c9d6cc;font-size:15.5px;line-height:1.55;max-width:560px}
.cta-band .cta-band-button{--button-edge:#0f2419;display:inline-flex;align-items:center;gap:12px;padding:14px 22px;min-height:50px;border-radius:7px;font-size:14px;line-height:1.4;font-weight:700;color:#1f3a2c;text-decoration:none;background:linear-gradient(180deg,#f0cf7c,#e3b653);border:1px solid #b98a1c;border-top-color:#fff8;box-shadow:inset 0 1px 0 #fff8,0 5px 0 #9a7215,0 9px 15px #0005;transition:transform .15s ease,box-shadow .15s ease}
.cta-band .cta-band-button:hover{color:#1f3a2c;transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff9,0 7px 0 #9a7215,0 12px 18px #0006}
.cta-band .cta-band-button:active{transform:translateY(4px);box-shadow:inset 0 1px 3px #0003,0 1px 0 #9a7215,0 3px 6px #0004}
.cta-band .cta-band-button:focus-visible{outline:3px solid #f4f1e8;outline-offset:4px}
@media(prefers-reduced-motion:reduce){.cta-band .cta-band-button{transition:none}.cta-band .cta-band-button:hover,.cta-band .cta-band-button:active{transform:none}}
@media(max-width:600px){.cta-band h2{font-size:25px}}
.hero-home .austin-word:has(.us-sketch){margin-left:6px}
.hero-home .austin-texas-sketch.us-sketch{left:50%;width:74px;height:74px;opacity:.34}
.logo-strip-track img[src*="logo-arcadis-20260914"]{height:28px}
.logo-strip-track img[src*="american-bird-conservancy"]{height:42px}
.logo-strip-track img[src*="logo-wsp"]{height:34px}
.logo-strip-track img[src*="bio-logical-text"]{height:62px}

/* About page additions (2026-09-26) */
.about-reach{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:18px 0 0;font-size:14.5px;color:#3d4d43}
.about-reach span{display:inline-flex;align-items:center;gap:8px}
.about-reach img{width:30px;height:30px;object-fit:contain;opacity:.8}
.about-reach .sep{color:#b3c4b0}
.about-help{padding:44px 0 20px}
.about-help h2,.about-quote h2{margin:0 0 18px;font-size:28px;color:#1f3a2c}
.pull-quote{margin:0;max-width:760px;display:flex;flex-direction:column;gap:16px;padding:26px 28px;background:#fff;border:1px solid #e3e6dc;border-top:3px solid #315b46;border-radius:12px;box-shadow:0 8px 20px -14px rgba(31,61,45,.35)}
.pull-quote .pq-org{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid #eceee7}
.pull-quote .pq-org img{width:46px;height:46px;flex:none;border-radius:10px;background:#13294b;padding:6px;box-sizing:border-box;object-fit:cover;object-position:0 50%}
.pull-quote .pq-org strong{display:block;font-size:14px;color:#1f3a2c}.pull-quote .pq-org small{font-size:12px;color:#5b6b61}
.pull-quote blockquote{margin:0;font-family:Lora,Georgia,serif;font-size:21px;line-height:1.5;color:#1f3a2c}
.pull-quote blockquote em{color:#315b46}
.pull-quote figcaption strong{display:block;font-size:14px;color:#1f3a2c}.pull-quote figcaption span{font-size:13px;color:#5b6b61}
.about-quote{padding:18px 0 44px}
.training-group-label{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5d776a}
.training-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:26px}
.training-groups ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.training-groups li{padding:11px 14px;background:#fff;border:1px solid #e3e6dc;border-radius:9px;font-size:14px;line-height:1.5;color:#3d4d43}
.training-groups li strong{color:#1f3a2c}
@media(max-width:760px){.training-groups{grid-template-columns:1fr}}
/* Experience carousel on the About page (moved from the homepage) */
#professional-background.organization-section{background:#faf8f2;border-top-color:#e7e2d3;margin-top:0}
#professional-background .organization-card a,#professional-background .organization-card-content{border-color:#e6e3d8}
#professional-background .organization-controls button{border-color:#d3dccf;color:#2f5a44}
#professional-background .organization-controls button:hover{background:#eef3ec}
#professional-background .organization-window{scrollbar-color:#b3c4b0 #ece9df}

/* Phone fixes for the service pages (2026-09-26) */
.county-row .county-sum-l{flex:1 1 220px;min-width:0}
@media(max-width:600px){
 .county-row>summary{padding:14px 16px}
 .focus-callout-link{max-width:100%;white-space:normal}
 .quote-tbl,.quote-tbl tbody{display:block}
 .quote-tbl thead{display:none}
 .quote-tbl tr{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;border-top:1px solid #eceee7}
 .quote-tbl tbody tr:first-child{display:none}.quote-tbl tbody tr:nth-child(2){border-top:0}
 .quote-tbl th,.quote-tbl td{border-top:0!important;width:auto!important}
 .quote-tbl th{grid-column:1/-1;padding:12px 14px 2px}
 .quote-tbl td{padding:4px 14px 12px}
 .quote-tbl .price{white-space:normal;text-align:right}
}

/* Regulatory update notice above the homepage FAQ (2026-09-26) */
.rule-update{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 18px;align-items:start;margin:0 0 30px;padding:18px 22px;background:#fff;border:1px solid #e3e6dc;border-left:0;border-radius:12px;box-shadow:inset 4px 0 0 #c89321}
.rule-update-tag{grid-row:span 2;align-self:start;display:inline-block;padding:5px 10px;border-radius:6px;background:#fbf2d8;color:#6f5812;font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.rule-update p{margin:0;color:#3d4d43;font-size:15px;line-height:1.6}
.rule-update p strong{color:#1f3a2c}
.rule-update a{color:#2f5a44;font-weight:600;text-decoration:underline;text-decoration-color:#c89321;text-underline-offset:3px;white-space:nowrap}
.rule-update a:hover{color:#1f3a2c}
.rule-update small{color:#5b6b61;font-size:12.5px}
@media(max-width:640px){.rule-update{grid-template-columns:1fr}.rule-update-tag{grid-row:auto;justify-self:start}}

/* Texas flag in the county guide "Texas services" tag (2026-09-26) */
.focus-loc--tx{gap:8px!important;padding-left:6px!important}
.focus-loc--tx .tx-flag{width:24px;height:16px;flex:none;border-radius:2px;box-shadow:0 0 0 1px rgba(31,58,44,.18),0 1px 2px rgba(31,58,44,.2)}
