/* General Body and Layout */
body{font-family:Arial,sans-serif;background-color:#efefef;margin:0;padding:0;padding-top:60px;display:flex;flex-direction:column;min-height:100vh}
main{flex:1}
.cent{text-align:center}

/* Header */
header.fixed-header{position:fixed;top:0;left:0;width:100%;background-color:#fff;box-shadow:0 4px 8px rgb(0 0 0/.1);z-index:1000;padding:10px 0}
.container{width:90%;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between}

/* Logo */
.logo h1{font-size:1rem;color:#805500}

/* Menu */
.menu{display:flex;justify-content:flex-start;list-style:none;margin:0;padding:0}
.menu li{margin:0 5px}
.menu a{color:#805500;font-size:.8rem;font-weight:600;display:block;padding:8px 12px;transition:color .3s,background-color .3s;text-decoration:none}
.menu a:hover{background-color:#fc0;color:#222;border-radius:5px}
.menu a.nav-cta{background-color:#044f9d;color:#fff;padding:8px 16px;border-radius:6px}
.menu a.nav-cta:hover{background-color:#ffcc00;color:#003366}

/* Dropdown */
.dropdown{position:relative}
.dropdown-menu{max-height:0;overflow:hidden;position:absolute;top:100%;left:0;background:#fff;box-shadow:0 4px 8px rgb(0 0 0/.1);padding:5px 0;min-width:200px;z-index:1000;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .3s,visibility .3s,transform .3s}
.dropdown:focus-within .dropdown-menu,.dropdown:hover .dropdown-menu{max-height:none;opacity:1;visibility:visible;transform:translateY(0)}
.dropdown-menu a{display:block;padding:10px 15px;white-space:nowrap;text-decoration:none}
.dropdown-menu a:hover{background:#ffdd57;color:#000}

/* Hamburger (Mobile Menu Button) */
.hamburger{display:none;flex-direction:column;justify-content:space-between;width:30px;height:24px;cursor:pointer}
.hamburger span{display:block;height:3px;width:100%;background-color:#805500;transition:all .3s}

/* Responsive Menu */
@media(max-width:768px){
.hamburger{display:flex}
.menu{display:none;flex-direction:column;background:#fff;position:absolute;top:60px;right:0;width:100%;box-shadow:0 4px 8px rgb(0 0 0/.1);padding:10px 0;z-index:999;opacity:0;transform:translateY(-10px);transition:opacity .3s,transform .3s}
.menu.active{display:flex;opacity:1;transform:translateY(0)}
.menu li{text-align:center;margin:10px 0}
}

/* Banner */
.banner{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8px 0;min-height:70px}
.banner-title{font-size:2rem;font-weight:700;color:#044f9d;margin-bottom:6px;min-height:auto}
.banner img{display:block;margin:0 auto;max-width:100%;height:auto;aspect-ratio:600/83;object-fit:contain}

/* Button */
.button{background-color:#044f9d;color:#fff;padding:10px 20px;border-radius:5px;font-weight:bold;text-decoration:none;display:inline-block;font-size:1rem;transition:background-color .3s,color .3s}
.button:hover{background-color:#ffcc00;color:#003366}
.button:focus{outline:none}
a.button[target="_blank"]{margin-top:10px;display:inline-block;text-align:center}

/* Content Section */
.content-section{flex:1;min-height:600px;display:flex;flex-direction:column;justify-content:flex-start;padding-bottom:50px}
.content-section h2{min-height:40px;color:#805500}

/* Lists */
ul {padding-left:20px;margin:15px 0}
ul li {margin-bottom:8px;line-height:1.6}
@media(max-width:768px){
ul {margin:10px 0}
ul li {margin-bottom:6px;line-height:1.4}
}

/* Ordered Lists */
ol {padding-left:40px;margin:15px 0}
ol li {margin-bottom:8px;line-height:1.6;text-indent:-20px;padding-left:20px}
@media(max-width:768px){
ol {margin:10px 0}
ol li {margin-bottom:6px;line-height:1.4;text-indent:-15px;padding-left:15px}
}

/* Fancy List */
.fancylist ol {list-style:none;counter-reset:custom-counter;padding-left:30px}
.fancylist ol li {position:relative;margin-bottom:8px;line-height:1.6;counter-increment:custom-counter;padding-left:25px}
.fancylist ol li::before {content:counter(custom-counter) ".";position:absolute;left:0;color:#805500;font-weight:bold}
.fancylist ul {list-style:none;padding-left:30px}
.fancylist ul li {position:relative;margin-bottom:8px;line-height:1.6;padding-left:20px}
.fancylist ul li::before {content:"\2022";position:absolute;left:0;color:#044f9d;font-weight:bold}

/* Address / Data Block Section */
.address-section{margin-top:50px;margin-bottom:50px;max-width:700px;margin-left:auto;margin-right:auto}
.address-section h2{text-align:center;color:#805500;margin-bottom:20px}
.address-section p{font-size:1rem;line-height:1.6;color:#222}

/* Map and Links */
.map-links-container{display:flex;flex-direction:row;gap:20px;align-items:center;justify-content:flex-start;margin-top:20px}
.map-column{width:auto;flex-shrink:0}
.links-column{flex:1;min-width:200px}
.map-button{text-align:center;margin-top:20px}

/* Product Section */
.product-section{margin-top:50px;padding-top:30px;padding-bottom:30px;border-top:1px solid #ccc;border-bottom:1px solid #ccc}
.product-section h2{text-align:center;margin-bottom:30px}
.product-section p.intro{text-align:center;font-size:15px;color:#044f9d;margin-bottom:30px}
.product-flexbox{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:30px;text-align:left}
.product-image{flex:0 1 150px;text-align:center}
.product-text{flex:1 1 300px;max-width:500px;text-align:left}
.product-flexbox img{max-width:100%;height:auto}
.product-caption{margin-top:8px;font-size:14px;color:#044f9d}
.note{text-align:center;font-size:12px;color:#555;margin-top:30px}

/* Responsive Map and Footer */
@media(max-width:768px){
.map-links-container{flex-direction:column;align-items:center}
.links-column{width:100%;text-align:center;margin-top:20px}
}

/* Footer */
.footer{background:#005bb5;color:#fff;padding:5px 0;margin-top:auto}
.footer-content{display:flex;justify-content:flex-start;flex-wrap:wrap;margin:0 auto;text-align:left;max-width:1200px}
.footer-column{flex:1;min-width:280px;margin:5px}
.footer-column ul{padding:0;margin:0}
.footer-column ul li{list-style:none;margin-bottom:2px}
.footer-column ul li a{font-size:.85rem;color:#fff;font-weight:500;transition:color .3s;display:inline-block;padding:4px 0;line-height:1.4}
.footer-column ul li a:hover:not([href$=".webp"]){color:#222}
.footer-bottom{background:#003d7a;color:#fff;text-align:center;padding:8px 0;font-size:12px;width:100%}
.footer-arrow{margin-right:5px;color:#fff;font-size:.85rem;vertical-align:middle;transition:color .3s}
.footer-column ul li a:hover .footer-arrow{color:#222}
.footer-contact-link{font-size:.9rem;color:#fff;font-weight:600;text-decoration:underline;display:inline-block;padding:4px 0}
.footer-contact-link:hover{color:#222}

@media(max-width:768px){
.footer-content{flex-direction:column;text-align:center}
.footer-column{width:100%}
}

/* Life Situations */
.life-situations{max-width:900px;margin:24px auto 0;padding:0 15px}
.life-situations h2{text-align:center;color:#044f9d;margin-bottom:14px}
.situation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.situation-card{background:#f7f8fa;border-radius:8px;padding:16px 18px}
.situation-card h3{margin:0 0 6px;font-size:1rem;color:#805500}
.situation-card p{margin:0;font-size:0.92rem;color:#444;line-height:1.5}

/* Good to know callout */
.good-to-know{margin-top:14px;padding:12px 16px;background:#fffbe6;border-left:4px solid #805500;border-radius:4px}
.good-to-know p{margin:0;font-size:0.9rem;color:#444}
.good-to-know strong{color:#805500}

/* Chat widget */
#chatbot-widget{margin:32px auto 0;max-width:640px;padding:24px 20px;background:#f7f8fa;border-radius:10px}
#chatbot-widget h2{text-align:center;font-size:1.15rem;color:#044f9d;margin:0 0 6px}
#chatbot-widget>p{text-align:center;font-size:0.9rem;color:#555;margin:0 0 16px}
#chatbot-widget form{text-align:center}
#chatbot-widget textarea{width:100%;padding:10px;font-size:0.95rem;border:1px solid #ccc;border-radius:4px;margin-bottom:10px;box-sizing:border-box}
#chatbot-widget button[type="submit"]{background:#005bb5;color:#fff;border:none;padding:9px 18px;font-size:0.95rem;border-radius:4px;cursor:pointer}
.chat-faq-row{margin-top:12px;text-align:center}
.chat-faq-row button{margin:3px;padding:6px 10px;font-size:0.82rem;border:1px solid #ccc;border-radius:4px;cursor:pointer;background:#fff}
#loading{display:none;text-align:center;margin-top:14px}
#response{margin-top:14px;text-align:center;display:none;background:#fff;border-radius:6px;padding:12px;font-size:0.92rem;box-shadow:0 1px 4px rgba(0,0,0,.08)}

/* Other counties cross-links */
.other-counties{max-width:700px;margin:30px auto 0;padding:0 15px}
.other-counties h2{text-align:center;color:#805500;margin-bottom:10px}
.other-counties ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center}
.other-counties li a{color:#044f9d;text-decoration:none;font-weight:600}
.other-counties li a:hover{text-decoration:underline}
.other-counties .see-all{text-align:center;margin-top:12px;font-size:0.9rem}

/* Prep-service CTA */
.prep-cta{margin:40px auto;max-width:600px;padding:6px 4px 4px}
.prep-cta h2{text-align:center;margin:0 0 8px 0;color:#805500;font-size:1.3rem;text-decoration:underline;text-decoration-color:#e0c98a;text-decoration-thickness:1.5px;text-underline-offset:5px;text-wrap:balance}
.prep-cta .lead{text-align:left;font-size:16px;font-weight:700;color:#222;max-width:420px;margin:0 auto 14px auto;line-height:1.5}
.prep-cta .lead .free{color:#d40000;font-size:1.15em;font-weight:800}
.prep-cta .subhead{text-align:center;font-size:13.5px;font-weight:700;color:#805500;text-transform:uppercase;letter-spacing:.03em;margin:0 0 18px 0}
.prep-cta .options{display:flex;flex-direction:column;gap:10px;max-width:420px;margin:0 auto}
.prep-cta .options a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 18px;border-radius:8px;color:#fff;text-decoration:none;font-weight:700;font-size:14px}
.prep-cta .options a.diy{background-color:#044f9d}
.prep-cta .options a.prep{background-color:#805500}
.prep-cta .fineprint{text-align:left;font-size:11px;color:#333;margin:10px auto 0 auto;max-width:420px}
.prep-cta .disclosure{text-align:center;font-size:10.5px;color:#555;font-style:italic;margin:14px auto 0 auto;max-width:420px}

/* Shared content wrapper for readable line length on prose-heavy pages */
.widen-text{max-width:800px;margin:0 auto}
.section-divider{max-width:1200px;margin:40px auto;border:none;border-top:1px solid #ccc}

/* FAQ (details/summary) blocks -- recording-requirements, notary, legal-description, download */
.faq-section{max-width:800px;margin:0 auto 30px}
.faq-section details{background:#fff;border:1px solid #ccc;border-radius:6px;padding:12px 16px;margin-bottom:10px}
.faq-section summary{font-weight:700;color:#044f9d;cursor:pointer}
.faq-section details p{margin:10px 0 0;color:#333}

/* Numbered step-by-step blocks */
.steps{margin-top:40px;margin-bottom:30px;color:#222;max-width:800px;margin-left:auto;margin-right:auto}
.steps h2{font-size:1.4rem;margin-bottom:16px;color:#805500;text-align:left}
.steps ol li{margin-bottom:10px}

/* CTA buttons (card-style, matches county-page prep-cta color pairing) */
.btn-cta{display:inline-block;font-weight:700;font-size:15px;padding:12px 24px;border-radius:6px;text-decoration:none;color:#fff;transition:background-color .3s,color .3s}
.btn-cta.primary{background-color:#044f9d}
.btn-cta.secondary{background-color:#805500}
.btn-cta:hover{background-color:#ffcc00;color:#003366}

/* Highlighted callout box (info/warning-style, used sparingly) */
.callout{max-width:700px;margin:0 auto 30px;padding:16px 20px;background:#fffbe6;border-left:5px solid #805500;border-radius:5px;color:#333;font-size:0.95rem;line-height:1.6}
.callout strong{color:#805500}

/* Prep-service upsell panel (download page second option) */
.upsell-panel{margin:40px auto;max-width:600px;padding:6px 4px 4px}
.upsell-panel h2{text-align:center;margin:0 0 10px;color:#805500;font-size:1.3rem;text-decoration:underline;text-decoration-color:#e0c98a;text-decoration-thickness:1.5px;text-underline-offset:5px}
.upsell-lead{text-align:left;font-size:16px;color:#333;max-width:460px;margin:0 auto 20px;line-height:1.55}
.upsell-cta{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:420px;margin:0 auto}
.upsell-note{text-align:left;font-size:12px;color:#333;max-width:420px;margin:10px auto 0}
.upsell-disclosure{text-align:center;font-size:10.5px;color:#555;font-style:italic;max-width:420px;margin:14px auto 0}

/* Product image/text flex layout (download page) */
.product-image img,.product-image svg{max-width:100%;height:auto;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.08)}
.product-caption{margin-top:8px;font-size:14px;color:#044f9d}

/* County index page (/counties/) -- filterable alphabetical grid */
.county-index{margin-top:20px}
.county-index-controls{margin:20px 0;text-align:center}
.county-index-controls input{width:100%;max-width:400px;padding:10px 14px;font-size:1rem;border:1px solid #ccc;border-radius:6px}
.county-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 20px;list-style:none;margin:20px 0;padding:0}
.county-grid li{padding:8px 0;border-bottom:1px solid #ddd;font-size:.95rem}
.county-grid a{color:#044f9d;text-decoration:none;font-weight:700}
.county-grid a:hover{color:#805500}
