.geoai-hero{padding:3rem 0;background:linear-gradient(125deg,#edf8f2,#f6f9ff)}
.geoai-hero h1{font-size:clamp(2rem,4vw,3.4rem);font-weight:800;margin:.6rem 0 1rem;color:#153d30}
.geoai-hero p{max-width:70ch;font-size:1.1rem}.geoai-hero nav{margin-bottom:1.5rem}
.geoai-facts{display:flex;flex-wrap:wrap;gap:.6rem;margin:1rem 0}.geoai-facts>span,.geoai-facts>a{background:#edf6f1;border:1px solid #d6e6dd;padding:.5rem .8rem;border-radius:.7rem;overflow-wrap:anywhere}
.geoai-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:2rem;padding-block:2.5rem}.geoai-content{min-width:0}.geoai-cover{width:100%;max-height:480px;object-fit:contain;border-radius:1rem;background:#edf5f0}
.geoai-section{margin:0 0 2rem;padding:1.5rem;border:1px solid #dce8e1;border-radius:1rem;background:#fff}.geoai-cover+.geoai-section{margin-top:2rem}.geoai-section h2{font-size:1.5rem;color:#164834}.geoai-prose{overflow-wrap:anywhere;overflow-x:auto}.geoai-prose img{max-width:100%;height:auto}.geoai-prose pre{white-space:pre-wrap}.geoai-video iframe{aspect-ratio:16/9;min-height:0!important;height:auto;border-radius:.6rem}
.geoai-aside{align-self:start;border:1px solid #dce8e1;background:#f7fbf8;border-radius:1rem;padding:1.3rem}.geoai-aside h2{font-size:1.2rem;margin-bottom:1rem}.geoai-aside a{display:flex;justify-content:space-between;gap:.7rem;padding:.8rem 0;border-bottom:1px solid #dfebe3}.geoai-aside h2:not(:first-child){margin-top:2rem}
.geoai-gallery,.geoai-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.geoai-gallery figure{margin:0}.geoai-gallery img{width:100%;aspect-ratio:4/3;object-fit:contain;background:#f4f8f5;border-radius:.6rem}.geoai-gallery figcaption{padding:.8rem 0;font-weight:700}
.geoai-resource{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #e1e9e4}.geoai-resource strong{overflow-wrap:anywhere}.geoai-resource a{flex-shrink:0}
.geoai-listing{padding-block:2.5rem}.geoai-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.geoai-card{border:1px solid #dce8e1;border-radius:1rem;overflow:hidden;background:#fff}.geoai-card-media{display:grid;place-items:center;aspect-ratio:16/9;background:#e6f2eb;font-size:2.5rem;font-weight:800}.geoai-card-media img{width:100%;height:100%;object-fit:cover}.geoai-card-body{padding:1.3rem}.geoai-card h2{font-size:1.4rem;line-height:1.4}.geoai-card p{overflow-wrap:anywhere}.geoai-filters{display:flex;gap:1rem;align-items:end;margin-bottom:1.5rem}.geoai-filters label{flex:1}.geoai-filters input,.geoai-filters select{display:block;width:100%;padding:.7rem;border:1px solid #cadbd0;border-radius:.6rem;background:#fff}
@media(max-width:991px){.geoai-layout{grid-template-columns:1fr}.geoai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.geoai-grid,.geoai-gallery{grid-template-columns:1fr}.geoai-filters{display:block}.geoai-filters label{display:block;margin-bottom:1rem}.geoai-resource{align-items:start;flex-direction:column}.geoai-section{padding:1rem}.geoai-hero{padding:2rem 0}}

.geoai-layout{grid-template-columns:minmax(0,1fr) 340px}.geoai-layout--listing{padding-top:1rem}.geoai-layout--listing .geoai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.geoai-card-body{display:flex;flex-direction:column;height:100%}.geoai-card{display:flex;flex-direction:column}.geoai-card-media{flex-shrink:0}.geoai-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:auto;padding-top:.8rem}.geoai-card-actions .h1-button{padding:.7rem 1rem;font-size:.95rem}.geoai-secondary{font-weight:700;color:#0b6b4f;text-decoration:underline;text-underline-offset:4px}
.geoai-aside{background:#fff;padding:1.25rem}.geoai-playlist{max-height:34rem;overflow:auto;padding:3px}.geoai-aside .geoai-playlist-item{display:grid;grid-template-columns:2rem 1fr;align-items:start;border:1px solid #e0ebe5;border-radius:.85rem;padding:1rem;margin-bottom:.6rem;color:#345747;background:#f5f9f6;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.geoai-aside .geoai-playlist-item.is-current{color:#fff;background:#0b6b4f;border-color:#c99d43}.geoai-playlist-number{display:grid;place-items:center;min-height:2rem;border:1px solid #b6d5c5;border-radius:.5rem;background:#fff;color:#0b6b4f}.is-current .geoai-playlist-number{background:#d6a545;color:#fff;border-color:#d6a545}.geoai-aside .geoai-guide-link{font-size:.95rem;font-weight:700}.geoai-category-links .is-active{font-weight:800;color:#07523b}.geoai-category-links a span{background:#edf6f1;border-radius:1rem;padding:0 .6rem}.geoai-section-heading{margin:2rem 0}.geoai-prose h2{margin-top:1.7rem}.geoai-prose h2:first-child{margin-top:0}.geoai-prose h3{font-size:1.2rem;margin-top:1.5rem}.geoai-prose li{margin:.5rem 0}.geoai-prose table{width:100%;border-collapse:collapse}.geoai-prose td,.geoai-prose th{padding:.75rem;border:1px solid #dce8e1}.geoai-prose th{background:#edf6f1}.geoai-empty{color:#64786e}
@media(max-width:991px){.geoai-layout{grid-template-columns:1fr}.geoai-aside{max-width:100%}}
@media(max-width:600px){.geoai-layout--listing .geoai-grid{grid-template-columns:1fr}.geoai-card-actions{gap:.8rem}.geoai-playlist{max-height:25rem}}

/* Shared category-specific feature area for guides, lists and model details. */
.geoai-category-hero{padding:2.5rem 0 3rem;background:linear-gradient(120deg,#063f31 0%,#0b6b4f 67%,#43815a 100%);color:#e4f3ea}
.geoai-category-hero nav{margin-bottom:2rem;font-size:.95rem}.geoai-category-hero nav a{color:#e4f3ea;text-decoration:underline;text-underline-offset:3px}
.geoai-category-hero__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.8fr);align-items:center;gap:3rem}.geoai-category-hero__grid--text{grid-template-columns:1fr}
.geoai-category-hero .h1-eyebrow{color:#f4d88a}.geoai-category-hero h1{font-size:clamp(2rem,3.5vw,3.2rem);font-weight:800;color:#fff;line-height:1.15;margin:.8rem 0 1rem;overflow-wrap:anywhere}.geoai-category-hero p{color:#e4f3ea;font-size:1.1rem;line-height:1.8;max-width:65ch}
.geoai-category-hero figure{margin:0;border:1px solid #ffffff40;border-radius:1.4rem;overflow:hidden;box-shadow:0 20px 50px #002b2540;background:#063f31}.geoai-category-hero figure img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain;aspect-ratio:auto}
.geoai-category-hero__actions{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem}.geoai-category-hero__actions a{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:5px}.geoai-category-hero .geoai-facts{margin:1.8rem 0 0}.geoai-category-hero .geoai-facts>span{color:#fff;background:#ffffff12;border-color:#ffffff35}
@media(max-width:767px){.geoai-category-hero{padding:1.8rem 0 2rem}.geoai-category-hero__grid{grid-template-columns:1fr;gap:1.5rem}.geoai-category-hero figure{max-width:32rem}.geoai-category-hero figure img{max-height:290px}.geoai-category-hero nav{margin-bottom:1.5rem}}

/* Shared public widgets beneath the category-specific navigation. */
.geoai-rail{min-width:0;align-self:start}
.geoai-rail .geoai-aside{margin-bottom:1rem}
.geoai-rail .sidebar-home{width:100%;max-width:none;min-width:0;padding:0}
.geoai-rail .widget{margin-bottom:1rem;padding:1.15rem;border:1px solid #dce8e1;border-radius:1rem;background:#fff;box-shadow:0 12px 30px rgba(23,53,40,.06)}
.geoai-rail .widget-title{font-size:1.05rem;color:#192f26;margin-bottom:.9rem}
.geoai-rail .widget-list a,.geoai-rail .post-title{overflow-wrap:anywhere}
.geoai-rail .widget-about img,.geoai-rail .widget-author img{height:auto;max-width:100%}
.geoai-rail .widget-search input{width:100%;min-height:44px;border:1px solid #bfcfc6;border-radius:9px}
.geoai-rail .widget-social{display:flex;justify-content:space-around;flex-wrap:wrap;gap:.5rem}
.geoai-rail .widget-social .list-inline-item{margin:0}
.geoai-resource-info{min-width:0}.geoai-resource-info strong,.geoai-resource-info small{display:block}.geoai-resource-info small{margin-top:.3rem;color:#52695f;overflow-wrap:anywhere}.geoai-resource-info p{margin:.6rem 0 0;font-size:.94rem;overflow-wrap:anywhere}.geoai-resource-source{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700;color:#0b6b4f;margin-bottom:.3rem}
@media(min-width:601px) and (max-width:1200px){.geoai-resource{flex-direction:column;align-items:flex-start}}
