@font-face{font-family:'Inter';src:url('/assets/fonts/inter-latin.woff2') format('woff2');font-display:swap;font-weight:300 700}
@font-face{font-family:'Playfair Display';src:url('/assets/fonts/playfair-latin.woff2') format('woff2');font-display:swap;font-weight:400 700}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
--bg-primary:#FFFFFF;--bg-secondary:#F8F9FA;
--text-primary:#1A1A2E;--text-secondary:#5A6373;
--accent-blue:#2D6A8F;--accent-blue-hover:#1B4965;
--accent-gold:#D4A843;--accent-gold-hover:#C09430;
--card-bg:#FFFFFF;--card-border:#E5E7EB;--card-shadow:0 2px 8px rgba(0,0,0,0.08);
--teal:#0891B2;--green:#059669;
--hero-gradient:linear-gradient(135deg,#1B4965,#2D6A8F,#3D85B0);
--r-sm:8px;--r:12px;--r-lg:20px;
}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',Georgia,serif;line-height:1.3;color:var(--text-primary)}
a{color:var(--accent-blue);text-decoration:none;transition:all .2s ease}
a:hover{color:var(--accent-blue-hover)}
img{max-width:100%;height:auto}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--bg-primary);border-bottom:1px solid var(--card-border);padding:16px 0;box-shadow:0 1px 3px rgba(0,0,0,0.05)}
.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 20px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:700;color:var(--text-primary);text-decoration:none}
.logo svg{flex-shrink:0;color:var(--teal)}
.main-nav{display:flex;gap:32px}
.main-nav a{color:var(--text-secondary);font-size:0.95rem;font-weight:500;padding:4px 0;border-bottom:2px solid transparent;transition:all .2s}
.main-nav a:hover{color:var(--accent-blue);border-bottom-color:var(--accent-blue)}
.mobile-toggle{display:none;background:none;border:none;color:var(--text-primary);cursor:pointer;padding:8px}

/* Hero */
.hero{position:relative;background:var(--hero-gradient);background-size:cover;background-position:center;background-repeat:no-repeat;padding:120px 0 80px;overflow:hidden;color:#FFFFFF}
.hero::before{content:'';position:absolute;top:0;right:0;width:40%;height:100%;background:radial-gradient(circle at 80% 20%,rgba(255,255,255,0.1) 0%,transparent 60%);pointer-events:none}
.hero-content{position:relative;z-index:2;text-align:center;max-width:800px;margin:0 auto}
.hero h1{font-size:3.2rem;margin-bottom:16px;color:#FFFFFF;font-weight:700}
.hero-sub{font-size:1.15rem;color:rgba(255,255,255,0.95);margin-bottom:40px;max-width:650px;margin-left:auto;margin-right:auto;line-height:1.7}
.wave-decoration{position:absolute;bottom:-1px;left:0;width:100%}
.wave-decoration svg{display:block;width:100%;height:0}

/* Search Box */
.search-box{position:relative;max-width:560px;margin:0 auto;display:flex;background:var(--bg-primary);border-radius:var(--r);border:1px solid var(--card-border);overflow:visible;box-shadow:0 4px 12px rgba(0,0,0,0.08)}
.search-box input{flex:1;background:transparent;border:none;padding:14px 20px;color:var(--text-primary);font-size:1rem;outline:none}
.search-box input::placeholder{color:var(--text-secondary)}
#geo-btn{background:var(--teal);border:none;padding:0 16px;cursor:pointer;color:#FFFFFF;border-radius:0 var(--r) var(--r) 0;transition:background .2s;display:flex;align-items:center;justify-content:center}
#geo-btn:hover{background:#06b6d4}
.search-results{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--card-border);border-radius:0 0 var(--r) var(--r);display:none;z-index:50;max-height:300px;overflow-y:auto;margin-top:2px;box-shadow:0 4px 12px rgba(0,0,0,0.1)}
.search-results.active{display:block}
.search-results a{display:block;padding:12px 20px;color:var(--text-primary);border-bottom:1px solid var(--card-border);font-size:0.95rem;transition:background .2s}
.search-results a:hover{background:var(--bg-secondary)}
.search-results a span{color:var(--text-secondary);font-size:0.85rem;margin-left:8px}

/* Trust Bar */
.stats-section{padding:50px 0;background:var(--bg-secondary)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;align-items:center}
.stat-card{text-align:center;padding:20px}
.stat-card svg{width:32px;height:32px;margin-bottom:12px;color:var(--teal)}
.stat-num{display:block;font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:var(--accent-blue)}
.stat-label{display:block;color:var(--text-secondary);font-size:0.9rem;margin-top:8px;font-weight:500}

/* Popular Species Section */
.popular-species-section{padding:80px 0;background:var(--bg-primary)}
.popular-species-section h2{text-align:center;font-size:2rem;margin-bottom:40px;color:var(--text-primary)}

/* State Directory */
.states-directory{padding:80px 0;background:var(--bg-primary)}
.states-directory h2{text-align:center;font-size:2rem;margin-bottom:40px;color:var(--text-primary)}
.state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.state-card{display:block;padding:0;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r);transition:all .25s;position:relative;overflow:hidden;text-decoration:none;color:var(--text-primary);contain:content}
.state-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--teal);transform:scaleY(0);transition:transform .25s;transform-origin:bottom;z-index:1}
.state-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow);border-color:var(--teal)}
.state-card:hover::before{transform:scaleY(1)}
.state-card-img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-radius:var(--r) var(--r) 0 0;display:block}
.state-card h3{font-size:1.2rem;margin-bottom:8px;color:var(--text-primary);padding:12px 24px 0}
.state-species{font-size:0.85rem;color:var(--text-secondary);margin-bottom:12px;padding:0 24px}
.spot-count{font-size:0.85rem;color:var(--teal);font-weight:600;padding:0 24px 24px}

/* Page Content */
.page-content{padding:40px 0 60px}

/* Breadcrumbs */
.breadcrumbs{margin-bottom:24px}
.breadcrumbs ol{display:flex;flex-wrap:wrap;list-style:none;gap:4px;font-size:0.9rem}
.breadcrumbs li{color:var(--text-secondary)}
.breadcrumbs li::after{content:'/';margin-left:8px;color:var(--text-secondary);opacity:0.5}
.breadcrumbs li:last-child::after{display:none}
.breadcrumbs li:last-child{color:var(--text-primary)}
.breadcrumbs a{color:var(--text-secondary);transition:color .2s}
.breadcrumbs a:hover{color:var(--accent-blue)}

/* State Hero */
.state-hero{margin-bottom:48px;padding:40px;background:var(--hero-gradient);background-size:cover;background-position:center;border-radius:var(--r);color:#FFFFFF}
.state-hero h1{font-size:2.4rem;margin-bottom:16px;color:#FFFFFF}
.state-desc{font-size:1.05rem;color:rgba(255,255,255,0.95);margin-bottom:24px;max-width:800px;line-height:1.7}
.state-meta{display:flex;flex-wrap:wrap;gap:24px}
.meta-item{color:rgba(255,255,255,0.95);font-size:0.95rem;font-weight:500}
.meta-item strong{color:#FFFFFF;font-weight:700}
.updated-date{font-size:0.85rem;color:rgba(255,255,255,0.8);margin-top:12px}

/* Species Grid & Chips */
.species-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.species-chip{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #bae6fd;border-radius:20px;padding:8px 16px;font-size:0.9rem;font-weight:500;color:#0c4a6e;transition:all .2s ease}
.species-chip:hover{background:linear-gradient(135deg,#e0f2fe,#bae6fd);transform:translateY(-1px)}
.species-emoji{font-size:1.1rem}

/* Popular Species Section */
.popular-species-section{padding:80px 0;background:var(--bg-primary)}
.popular-species-section h2{text-align:center;font-size:2rem;margin-bottom:40px;color:var(--text-primary)}

/* Spots Grid */
.spots-section{margin-bottom:48px}
.spots-section h2{font-size:1.8rem;margin-bottom:32px;color:var(--text-primary)}
.spots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}
.spot-card{background:var(--card-bg);border-radius:var(--r);padding:0;border:1px solid var(--card-border);transition:all .25s ease;overflow:hidden;display:flex;flex-direction:column;text-decoration:none;color:var(--text-primary);contain:content}
.spot-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px rgba(0,0,0,0.12);border-color:var(--teal)}
.spot-card-img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;border-radius:var(--r) var(--r) 0 0;display:block}
.spot-card-header{padding:16px;min-height:70px;display:flex;align-items:center}
.spot-header{margin-bottom:12px;padding:24px 24px 0}
.water-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--r-lg);font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px}
.spot-card h3{margin:0;padding:12px 24px 0;font-size:1.3rem;color:var(--text-primary);font-weight:700}
.spot-card .spot-species{padding:8px 24px 0;font-size:0.9rem;color:var(--text-secondary);margin-bottom:0;display:flex;align-items:center;gap:6px}
.spot-species strong{color:var(--accent-blue);font-weight:600}
.spot-card .spot-desc{padding:8px 24px 24px;font-size:0.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.badge-lake{background:#E0F2FE;color:var(--teal)}
.badge-river{background:#DCFCE7;color:var(--green)}
.badge-reservoir{background:#E0F2FE;color:var(--teal)}
.badge-ocean{background:#F0F4FF;color:#4F46E5}
.badge-bay{background:#E0F2FE;color:var(--teal)}
.badge-river-delta{background:#DCFCE7;color:var(--green)}

/* License Section */
.zone-cta-section{margin-bottom:32px}
.zone-cta{background:linear-gradient(135deg,#F0F9FF,#E0F2FE);border:2px solid #BAE6FD;border-radius:var(--r);padding:36px;text-align:center}
.zone-cta h2{font-size:1.4rem;margin-bottom:10px;color:var(--accent-blue-hover)}
.zone-cta p{color:var(--text-secondary);margin-bottom:20px;max-width:600px;margin-left:auto;margin-right:auto}
.btn-zones{display:inline-block;padding:12px 28px;background:var(--accent-blue);color:#fff!important;border-radius:var(--r-sm);font-weight:600;transition:all .2s}
.btn-zones:hover{background:var(--accent-blue-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgba(45,106,143,0.3)}
.license-section{margin-bottom:48px}
.license-card{background:var(--hero-gradient);border:none;border-radius:var(--r);padding:48px;text-align:center;color:#FFFFFF}
.license-card h2{font-size:1.6rem;margin-bottom:12px;color:#FFFFFF}
.license-card p{color:rgba(255,255,255,0.95);margin-bottom:24px;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.7}
.btn-license{display:inline-block;padding:12px 32px;background:var(--accent-gold);color:var(--text-primary)!important;border-radius:var(--r-sm);font-weight:700;font-size:1rem;transition:all .2s ease;text-decoration:none;box-shadow:0 4px 12px rgba(212,168,67,0.25)}
.btn-license:hover{background:var(--accent-gold-hover);transform:translateY(-2px);box-shadow:0 6px 16px rgba(212,168,67,0.35)}

/* FAQ */
.faq-section{padding:60px 0;background:var(--bg-secondary)}
.faq-section h2{text-align:center;font-size:2rem;margin-bottom:32px;color:var(--text-primary)}
.faq-item{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r-sm);margin-bottom:12px;overflow:hidden;transition:box-shadow .2s}
.faq-item:hover{box-shadow:var(--card-shadow)}
.faq-question{display:flex;width:100%;justify-content:space-between;align-items:center;padding:18px 20px;background:none;border:none;color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;text-align:left;font-family:inherit}
.faq-question svg{flex-shrink:0;transition:transform .3s;color:var(--accent-blue);width:20px;height:20px}
.faq-item.active .faq-question svg{transform:rotate(180deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.active .faq-answer{max-height:500px}
.faq-answer p{padding:0 20px 18px;color:var(--text-secondary);font-size:0.95rem;line-height:1.7}

/* Related States */
.related-states{padding:60px 0;background:var(--bg-primary)}
.related-states h2{font-size:1.8rem;margin-bottom:32px;color:var(--text-primary)}
.neighbor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.neighbor-card{display:flex;flex-direction:column;padding:20px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r);text-align:center;transition:all .25s ease;color:var(--text-primary)!important;text-decoration:none;font-weight:500}
.neighbor-card span{font-size:0.8rem;color:var(--text-secondary);margin-top:6px;font-weight:400}
.neighbor-card:hover{border-color:var(--teal);transform:translateY(-4px);box-shadow:var(--card-shadow)}

/* Prose Pages */
.prose-page h1{font-size:2.4rem;margin-bottom:24px;color:var(--text-primary)}
.prose-page h2{font-size:1.6rem;margin:36px 0 16px;color:var(--accent-blue)}
.prose-page p{color:var(--text-secondary);margin-bottom:18px;max-width:800px;line-height:1.8}
.prose-page a{color:var(--accent-blue);text-decoration:underline;text-underline-offset:3px}

/* License Table */
.license-table-wrap{overflow-x:auto;margin:24px 0}
.license-table{width:100%;border-collapse:collapse;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r);overflow:hidden}
.license-table th{background:var(--bg-secondary);color:var(--accent-blue);padding:14px 16px;text-align:left;font-size:0.9rem;font-weight:700}
.license-table td{padding:12px 16px;border-bottom:1px solid var(--card-border);font-size:0.9rem;color:var(--text-secondary)}
.license-table tr:hover td{background:var(--bg-secondary)}
.btn-sm{display:inline-block;padding:6px 14px;background:var(--teal);color:#FFFFFF!important;border-radius:var(--r-sm);font-size:0.85rem;font-weight:600;transition:all .2s}
.btn-sm:hover{background:#06b6d4}

/* Footer */
.site-footer{background:#1B4965;border-top:1px solid rgba(0,0,0,0.1);padding:56px 0 32px;margin-top:80px;color:#FFFFFF}
.footer-states h3{font-size:1.1rem;color:#FFFFFF;margin-bottom:20px;font-weight:700}
.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px 32px;margin-bottom:40px}
.footer-col a{display:block;color:rgba(255,255,255,0.85);font-size:0.85rem;padding:4px 0;transition:color .2s}
.footer-col a:hover{color:#FFFFFF}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.2);padding-top:28px;text-align:center}
.footer-info p{color:rgba(255,255,255,0.85);font-size:0.85rem;margin-bottom:8px}
.footer-info a{color:#FFFFFF;font-weight:500}
.footer-info strong{color:#FFFFFF;font-weight:700}

/* Spot Detail Pages */
.spot-detail-hero{margin-bottom:32px;padding:32px;background:var(--hero-gradient);background-size:cover;background-position:center;border-radius:var(--r);color:#FFFFFF}
.spot-detail-hero h1{font-size:2.4rem;margin-bottom:12px;color:#FFFFFF;font-weight:700}
.spot-meta{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-bottom:16px}
.back-to-state{display:inline-flex;align-items:center;gap:6px;color:rgba(255,255,255,0.95);font-size:0.95rem;margin-bottom:16px;transition:opacity .2s}
.back-to-state:hover{opacity:0.8}
.spot-detail-desc{font-size:1.05rem;color:var(--text-secondary);line-height:1.8;max-width:800px;margin-bottom:32px}

/* Spot Layout with Sidebar */
.spot-layout{display:grid;grid-template-columns:1fr 300px;gap:36px;margin-bottom:48px}
.spot-main{display:flex;flex-direction:column;gap:36px}
.spot-sidebar{display:flex;flex-direction:column;gap:24px}

/* Map Container */
.map-container{background:var(--card-bg);border-radius:var(--r);padding:24px;border:1px solid var(--card-border)}
.map-placeholder{margin-bottom:16px}
.map-placeholder svg{width:100%;height:auto;border-radius:var(--r-sm);margin-bottom:16px;background:var(--bg-secondary)}
.btn-maps{display:inline-block;padding:12px 20px;background:var(--teal);color:#FFFFFF!important;border-radius:var(--r-sm);font-weight:600;font-size:0.95rem;transition:all .2s ease;width:100%;text-align:center;border:none;cursor:pointer;text-decoration:none}
.btn-maps:hover{background:#06b6d4;transform:translateY(-2px)}

/* Quick Facts */
.quick-facts{background:var(--card-bg);border-radius:var(--r);padding:28px;border:1px solid var(--card-border);position:sticky;top:100px;box-shadow:var(--card-shadow)}
.quick-facts h2{font-size:1.2rem;margin-bottom:20px;color:var(--text-primary);border-bottom:2px solid var(--teal);padding-bottom:12px;font-weight:700}
.quick-fact{display:flex;flex-direction:column;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--card-border)}
.quick-fact:last-child{border-bottom:none}
.fact-label{font-size:0.75rem;color:var(--text-secondary);text-transform:uppercase;font-weight:700;letter-spacing:0.5px;margin-bottom:6px}
.fact-value{color:var(--text-primary);font-size:0.95rem;font-weight:600}
.difficulty-badge{display:inline-block;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--card-border);border-radius:var(--r-sm);color:var(--accent-blue);font-size:0.85rem;font-weight:600}

/* Section Header with left border accent */
.section-header{position:relative;padding-left:16px;margin-bottom:16px}
.section-header::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--teal);border-radius:2px}

/* Info Grid */
.info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px;margin-bottom:48px}
.info-card{background:var(--card-bg);border-radius:var(--r);padding:28px;border:1px solid var(--card-border);box-shadow:var(--card-shadow);counter-reset:tip-counter}
.info-card h2{font-size:1.3rem;margin-bottom:18px;color:var(--text-primary);font-weight:700}
.info-card ul{list-style:none}
.info-card ul li{padding:10px 0;color:var(--text-secondary);font-size:0.95rem;line-height:1.6}
.tips-list li{padding:12px 0 12px 28px;position:relative;counter-increment:tip-counter;border-bottom:1px solid var(--card-border)}
.tips-list li:last-child{border-bottom:none}
.tips-list li::before{content:counter(tip-counter);position:absolute;left:0;width:20px;height:20px;background:var(--teal);color:white;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:700}
.info-card ul li::before{content:'🎣 ';margin-right:6px}
.info-card p{color:var(--text-secondary);line-height:1.7}
.nearby-section{margin-bottom:48px;padding:60px 0;background:var(--bg-secondary)}
.nearby-section h2{font-size:1.8rem;margin-bottom:32px;color:var(--text-primary)}
.nearby-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px}
.spot-card-link{text-decoration:none!important;color:inherit}
.nearby-card{display:block;padding:20px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r);transition:all .25s ease;text-decoration:none;color:var(--text-primary)!important}
.nearby-card h4{color:var(--accent-blue);margin:0;font-size:1.05rem;font-weight:700}
.nearby-card:hover{border-color:var(--teal);transform:translateY(-4px);box-shadow:var(--card-shadow)}

/* Responsive */
@media(max-width:768px){
.stats-grid{grid-template-columns:repeat(2,1fr)}
.hero h1{font-size:2.2rem}
.hero{padding:80px 0 60px}
.hero-sub{font-size:1rem}
.state-grid{grid-template-columns:repeat(2,1fr)}
.spots-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:repeat(2,1fr)}
.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);flex-direction:column;padding:16px 20px;border-bottom:1px solid var(--card-border);gap:12px}
.main-nav.active{display:flex}
.mobile-toggle{display:block}
.state-meta{flex-direction:column;gap:12px}
.state-hero{padding:28px}
.state-hero h1{font-size:1.8rem}
.spot-detail-hero{padding:24px}
.spot-detail-hero h1{font-size:1.8rem}
.spot-layout{grid-template-columns:1fr;gap:24px}
.quick-facts{position:static}
}
@media(max-width:480px){
.stats-grid{grid-template-columns:repeat(2,1fr)}
.hero h1{font-size:1.8rem}
.hero-sub{font-size:0.95rem}
.search-box{max-width:100%}
.state-grid{grid-template-columns:1fr}
.states-directory{padding:60px 0}
.neighbor-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr}
.species-grid{grid-template-columns:repeat(2,1fr)}
.spots-grid{grid-template-columns:1fr}
.hero-content{max-width:100%}
.zone-index-grid{grid-template-columns:1fr}
.zone-spots-grid{grid-template-columns:1fr}
}

/* Zone Pages */
.zone-content{margin:40px 0}
.zone-description{margin-bottom:32px;max-width:800px}
.zone-description p{font-size:1.05rem;line-height:1.75;color:var(--text-secondary);margin-bottom:16px}
.zone-listings{margin:40px 0}
.zone-listings>h2{font-size:1.6rem;margin-bottom:24px;border-bottom:2px solid var(--accent-gold);padding-bottom:8px;display:inline-block}
.zone-water-group{margin-bottom:32px}
.zone-water-group>h3{font-size:1.2rem;display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--accent-blue)}
.zone-spots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.zone-spot-item{padding:16px;border:1px solid var(--card-border);border-radius:var(--r-sm);background:var(--card-bg);transition:all .2s}
.zone-spot-item:hover{box-shadow:var(--card-shadow);border-color:var(--accent-blue)}
.zone-spot-linked{text-decoration:none;color:inherit;display:block}
.zone-spot-item h4{font-family:'Inter',sans-serif;font-size:0.95rem;font-weight:600;color:var(--text-primary);margin-bottom:6px}
.zone-spot-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:0.8rem;color:var(--text-secondary)}
.zone-spot-meta span{display:inline-flex;align-items:center;gap:4px}
.zone-coords{font-family:monospace;font-size:0.75rem;color:#94A3B8}
.zone-detail-link{display:inline-block;margin-top:8px;font-size:0.85rem;color:var(--accent-blue);font-weight:500}
.zone-maps-link{display:inline-block;margin-top:6px;font-size:0.8rem;color:var(--teal)}

/* Zone Index */
.zone-index-intro{font-size:1.05rem;color:var(--text-secondary);margin-bottom:28px;max-width:700px}
.zone-index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.zone-index-card{display:block;padding:20px;border:1px solid var(--card-border);border-radius:var(--r);background:var(--card-bg);text-decoration:none;color:inherit;transition:all .2s}
.zone-index-card:hover{box-shadow:var(--card-shadow);border-color:var(--accent-blue);transform:translateY(-2px)}
.zone-index-card h3{font-size:1.1rem;margin-bottom:8px;color:var(--text-primary)}
.zone-card-stats{display:flex;gap:16px;margin-bottom:6px;font-size:0.9rem}
.zone-spot-count{font-weight:600;color:var(--accent-blue)}
.zone-water-types{color:var(--text-secondary)}
.zone-species{font-size:0.8rem;color:var(--text-secondary);font-style:italic}

/* Guides Index Page Styles */
.guides-index{padding:60px 0}
.guides-section{margin-bottom:60px}
.guides-section h2{font-size:2rem;margin-bottom:32px;color:var(--text-primary);border-bottom:3px solid var(--accent-gold);padding-bottom:12px;display:inline-block}
.guides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.guide-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r);overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column;text-decoration:none;color:inherit;box-shadow:0 2px 4px rgba(0,0,0,0.05);contain:content}
.guide-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px rgba(0,0,0,0.15);border-color:var(--teal)}
.guide-card-img{width:100%;height:240px;object-fit:cover;border-radius:var(--r) var(--r) 0 0;display:block}
.guide-card-content{padding:24px;display:flex;flex-direction:column;flex:1}
.guide-card h3{font-size:1.3rem;margin-bottom:10px;color:var(--text-primary);font-weight:700}
.guide-card p{color:var(--text-secondary);font-size:0.95rem;line-height:1.6;flex:1;margin-bottom:16px}
.guide-card-meta{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid var(--card-border);font-size:0.85rem;color:var(--text-secondary)}

/* Species Guide Styles */
.species-guide-hero{background:var(--hero-gradient);padding:60px 0;color:#FFFFFF;margin-bottom:48px}
.species-guide-hero h1{font-size:2.8rem;margin-bottom:16px;color:#FFFFFF;font-weight:700}
.species-guide-hero p{font-size:1.1rem;color:rgba(255,255,255,0.95);max-width:700px;line-height:1.7;margin-bottom:24px}
.species-quick-facts{background:var(--card-bg);border-radius:var(--r);padding:32px;border:1px solid var(--card-border);margin-bottom:48px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.quick-fact-item{display:flex;flex-direction:column}
.quick-fact-item strong{color:var(--accent-blue);font-size:0.9rem;text-transform:uppercase;font-weight:700;letter-spacing:0.5px;margin-bottom:6px}
.quick-fact-item span{color:var(--text-primary);font-size:1.1rem;font-weight:600}
.species-content{max-width:900px}
.species-content h2{font-size:1.8rem;margin:40px 0 20px;color:var(--accent-blue);border-left:4px solid var(--accent-gold);padding-left:16px}
.species-content p{color:var(--text-secondary);font-size:1rem;line-height:1.8;margin-bottom:20px;max-width:850px}
.species-content ul{list-style:none;margin:20px 0;padding:0}
.species-content li{padding:10px 0 10px 28px;position:relative;color:var(--text-secondary);line-height:1.6}
.species-content li::before{content:'';position:absolute;left:0;top:50%;width:8px;height:8px;background:var(--teal);border-radius:50%;transform:translateY(-50%)}
.seasons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:30px 0 40px}
.season-card{padding:24px;border-radius:var(--r);color:#FFFFFF;text-align:center;border:2px solid transparent;transition:all .2s}
.season-card h3{font-size:1.2rem;margin-bottom:12px;font-weight:700}
.season-card p{font-size:0.9rem;line-height:1.6;opacity:0.95}
.season-spring{background:#059669}
.season-spring:hover{background:#047857;border-color:#F0FDF4}
.season-summer{background:#D97706}
.season-summer:hover{background:#B45309;border-color:#FFFBEB}
.season-fall{background:#DC2626}
.season-fall:hover{background:#B91C1C;border-color:#FEE2E2}
.season-winter{background:#2563EB}
.season-winter:hover{background:#1D4ED8;border-color:#EFF6FF}
.techniques-list{margin:30px 0;background:var(--bg-secondary);border-radius:var(--r);padding:24px}
.techniques-list ol{list-style:none;padding:0;counter-reset:tech-counter}
.techniques-list li{padding:16px 0 16px 40px;position:relative;border-bottom:1px solid var(--card-border);counter-increment:tech-counter;color:var(--text-secondary)}
.techniques-list li:last-child{border-bottom:none}
.techniques-list li::before{content:counter(tech-counter);position:absolute;left:0;top:16px;width:28px;height:28px;background:var(--accent-blue);color:#FFFFFF;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.85rem}
.techniques-list li strong{color:var(--text-primary);display:block;margin-bottom:4px}
.gear-table{width:100%;border-collapse:collapse;margin:30px 0;border:1px solid var(--card-border);border-radius:var(--r);overflow:hidden;background:var(--card-bg)}
.gear-table th{background:var(--hero-gradient);color:#FFFFFF;padding:16px;text-align:left;font-weight:700}
.gear-table td{padding:12px 16px;border-bottom:1px solid var(--card-border);color:var(--text-secondary)}
.gear-table tr:hover td{background:var(--bg-secondary)}
.gear-table tr:last-child td{border-bottom:none}

/* Technique Guide Styles */
.technique-hero{background:var(--hero-gradient);padding:60px 0;color:#FFFFFF;margin-bottom:48px}
.technique-hero h1{font-size:2.8rem;margin-bottom:20px;color:#FFFFFF;font-weight:700}
.technique-hero p{font-size:1.05rem;color:rgba(255,255,255,0.95);line-height:1.7;max-width:800px}
.difficulty-badge-easy{background:#D1FAE5;color:#065F46;padding:8px 16px;border-radius:var(--r-sm);font-weight:600;font-size:0.85rem;display:inline-block}
.difficulty-badge-moderate{background:#FEF3C7;color:#92400E;padding:8px 16px;border-radius:var(--r-sm);font-weight:600;font-size:0.85rem;display:inline-block}
.difficulty-badge-advanced{background:#FEE2E2;color:#7F1D1D;padding:8px 16px;border-radius:var(--r-sm);font-weight:600;font-size:0.85rem;display:inline-block}
.technique-overview{background:var(--card-bg);border:2px solid var(--accent-blue);border-radius:var(--r);padding:32px;margin-bottom:40px}
.technique-overview h2{color:var(--accent-blue);margin-bottom:16px;font-size:1.5rem;border:none;padding:0}
.technique-overview p{color:var(--text-secondary);line-height:1.7;margin-bottom:0}
.technique-gear{background:var(--bg-secondary);border-radius:var(--r);padding:32px;margin-bottom:40px}
.technique-gear h2{color:var(--accent-blue);margin-bottom:20px;font-size:1.5rem;border:none;padding:0}
.technique-gear ul{list-style:none;padding:0}
.technique-gear li{padding:12px 0 12px 28px;position:relative;color:var(--text-secondary);border-bottom:1px solid var(--card-border)}
.technique-gear li:last-child{border-bottom:none}
.technique-gear li::before{content:'→';position:absolute;left:0;color:var(--accent-blue);font-weight:bold}
.key-techniques-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin:30px 0}
.technique-grid-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r);padding:24px;transition:all .2s}
.technique-grid-card:hover{box-shadow:var(--card-shadow);border-color:var(--teal)}
.technique-grid-card h3{color:var(--accent-blue);font-size:1.1rem;margin-bottom:12px}
.technique-grid-card p{color:var(--text-secondary);font-size:0.95rem;line-height:1.6}

/* Seasonal Guide Styles */
.seasonal-hero{background:var(--hero-gradient);padding:60px 0;color:#FFFFFF;margin-bottom:48px}
.seasonal-hero h1{font-size:2.8rem;margin-bottom:16px;color:#FFFFFF;font-weight:700}
.seasonal-hero p{font-size:1.05rem;color:rgba(255,255,255,0.95);max-width:700px;line-height:1.7}
.season-species{background:var(--card-bg);border-radius:var(--r);padding:32px;margin-bottom:40px;border:1px solid var(--card-border)}
.season-species h2{color:var(--text-primary);font-size:1.6rem;margin-bottom:24px;border:none;padding:0}
.season-species ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}
.season-species li{background:var(--bg-secondary);padding:16px;border-radius:var(--r-sm);color:var(--text-secondary);font-weight:500;text-align:center;transition:all .2s}
.season-species li:hover{background:#D4A843;color:#FFFFFF}
.regional-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:30px 0 40px}
.regional-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r);padding:24px;transition:all .25s ease;text-decoration:none;color:inherit;cursor:pointer}
.regional-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow);border-color:var(--teal)}
.regional-card h3{color:var(--accent-blue);font-size:1.2rem;margin-bottom:8px}
.regional-card p{color:var(--text-secondary);font-size:0.9rem;margin-bottom:12px;line-height:1.6}
.regional-card-meta{display:flex;justify-content:space-between;font-size:0.85rem;color:var(--text-secondary);padding-top:12px;border-top:1px solid var(--card-border)}

/* Blog Styles */
.blog-index{padding:60px 0}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:32px}
.blog-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r);overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column;text-decoration:none;color:inherit;box-shadow:0 2px 4px rgba(0,0,0,0.05);contain:content}
.blog-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px rgba(0,0,0,0.15);border-color:var(--teal)}
.blog-card-img{width:100%;height:200px;object-fit:cover;border-radius:var(--r) var(--r) 0 0;display:block}
.blog-card-content{padding:24px;display:flex;flex-direction:column;flex:1}
.blog-card-meta{display:flex;gap:12px;margin-bottom:12px;align-items:center}
.blog-category{display:inline-block;padding:4px 12px;background:var(--accent-blue);color:#FFFFFF;border-radius:var(--r-sm);font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.5px}
.blog-card-date{font-size:0.85rem;color:var(--text-secondary)}
.blog-card h3{font-size:1.35rem;margin-bottom:10px;color:var(--text-primary);font-weight:700;line-height:1.4}
.blog-card p{color:var(--text-secondary);font-size:0.95rem;line-height:1.6;flex:1;margin-bottom:12px}
.blog-read-time{font-size:0.85rem;color:var(--teal);font-weight:500}
.blog-article{max-width:900px;margin:0 auto;padding:40px 0}
.article-header{margin-bottom:48px;padding-bottom:32px;border-bottom:2px solid var(--accent-gold)}
.article-header h1{font-size:2.6rem;margin-bottom:16px;color:var(--text-primary)}
.article-meta{display:flex;gap:24px;align-items:center;flex-wrap:wrap;font-size:0.95rem;color:var(--text-secondary)}
.article-meta-item{display:flex;align-items:center;gap:6px}
.article-content{font-size:1.05rem;line-height:2;color:var(--text-secondary)}
.article-content h2{font-size:1.8rem;margin:48px 0 20px;color:var(--accent-blue);border-left:4px solid var(--accent-gold);padding-left:16px}
.article-content h3{font-size:1.3rem;margin:32px 0 16px;color:var(--text-primary);font-weight:700}
.article-content p{margin-bottom:24px}
.article-content ul,.article-content ol{margin:24px 0;padding-left:32px}
.article-content li{margin-bottom:12px;line-height:1.8}
.article-content blockquote{border-left:4px solid var(--accent-gold);padding-left:20px;margin:32px 0;color:var(--text-secondary);font-style:italic;font-size:1.1rem}
.article-content img{max-width:100%;height:auto;border-radius:var(--r);margin:32px 0;box-shadow:0 4px 12px rgba(0,0,0,0.1)}

/* Premium Enhancements */
.card-premium{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--r);transition:all .3s cubic-bezier(0.34,1.56,0.64,1);box-shadow:0 2px 8px rgba(0,0,0,0.08)}
.card-premium:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 12px 32px rgba(0,0,0,0.15);border-color:var(--teal)}
.gradient-text{background:linear-gradient(135deg,var(--accent-blue),var(--teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}
.state-card-img-overlay{position:relative;overflow:hidden}
.state-card-img-overlay::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,0.3) 100%);opacity:0;transition:opacity .3s}
.state-card:hover .state-card-img-overlay::after{opacity:1}
.featured-guides{padding:60px 0;background:linear-gradient(135deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);margin:60px 0;border-radius:var(--r-lg)}
.featured-guides h2{font-size:2rem;margin-bottom:40px;color:var(--text-primary);text-align:center}
.featured-guides-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:32px;max-width:1200px;margin:0 auto;padding:0 20px}
.featured-guide-card{background:var(--card-bg);border:2px solid var(--accent-gold);border-radius:var(--r);overflow:hidden;transition:all .3s ease;position:relative;box-shadow:0 4px 12px rgba(212,168,67,0.2)}
.featured-guide-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent-blue),var(--teal),var(--accent-gold));opacity:0;transition:opacity .3s}
.featured-guide-card:hover{transform:translateY(-8px);box-shadow:0 16px 32px rgba(212,168,67,0.3);border-color:var(--teal)}
.featured-guide-card:hover::before{opacity:1}
.featured-guide-img{width:100%;height:240px;object-fit:cover;border-radius:var(--r) var(--r) 0 0}
.featured-guide-content{padding:28px}
.featured-guide-badge{display:inline-block;background:var(--accent-gold);color:var(--text-primary);padding:6px 14px;border-radius:var(--r-sm);font-size:0.75rem;font-weight:700;text-transform:uppercase;margin-bottom:12px;letter-spacing:0.5px}
.featured-guide-title{font-size:1.4rem;margin-bottom:12px;color:var(--text-primary);font-weight:700;line-height:1.3}
.featured-guide-desc{color:var(--text-secondary);font-size:0.95rem;line-height:1.6;margin-bottom:16px}
.featured-guide-link{display:inline-flex;align-items:center;gap:8px;color:var(--accent-blue);font-weight:600;transition:all .2s}
.featured-guide-link:hover{color:var(--accent-blue-hover);transform:translateX(4px)}

/* Responsive */
@media(max-width:768px){
.guides-grid{grid-template-columns:repeat(2,1fr)}
.blog-grid{grid-template-columns:1fr}
.key-techniques-grid{grid-template-columns:1fr}
.seasons-grid{grid-template-columns:repeat(2,1fr)}
.regional-grid{grid-template-columns:1fr}
.featured-guides-grid{grid-template-columns:1fr}
.species-quick-facts{grid-template-columns:repeat(2,1fr)}
.gear-table{font-size:0.85rem}
.article-content{font-size:1rem}
}
@media(max-width:480px){
.guides-grid{grid-template-columns:1fr}
.blog-grid{grid-template-columns:1fr}
.key-techniques-grid{grid-template-columns:1fr}
.seasons-grid{grid-template-columns:1fr}
.regional-grid{grid-template-columns:1fr}
.featured-guides-grid{grid-template-columns:1fr}
.species-quick-facts{grid-template-columns:1fr}
.article-header h1{font-size:1.8rem}
.article-content{font-size:0.95rem}
.blog-card h3{font-size:1.1rem}
.guide-card h3{font-size:1.1rem}
}