html{scroll-behavior:smooth}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a:hover{text-decoration:underline}
.hero-band{background:linear-gradient(135deg,#e0f7ff 0%,#fff7ed 55%,#ecfeff 100%)}
.section{max-width:80rem;margin:0 auto;padding:4rem 1rem}
.section h1,.section h2{font-weight:900;line-height:1.05;color:#123044}
.section h1{font-size:clamp(2.2rem,5vw,4.5rem)}
.section h2{font-size:clamp(1.8rem,3vw,3rem);margin-bottom:1.5rem}
.lead{font-size:1.125rem;color:#475569;max-width:54rem;margin-bottom:2rem}
.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.9rem 1.35rem;font-weight:900;text-decoration:none}
.btn-primary{background:#f97316;color:#fff;box-shadow:0 12px 24px rgba(249,115,22,.22)}
.btn-secondary{background:#fff;color:#0ea5e9;border:1px solid #bae6fd}
.card{border-radius:1.25rem;background:#fff;padding:1.5rem;box-shadow:0 10px 25px rgba(2,132,199,.08);border:1px solid #e0f2fe}
.card h2,.card h3{font-size:1.25rem;font-weight:900;margin-bottom:.6rem}
.card p{color:#475569;margin:.5rem 0}
.card a{display:inline-flex;margin-top:.75rem;font-weight:900;color:#0284c7}
.price{border-radius:1.25rem;background:#fff;padding:1.5rem;border:1px solid #fed7aa;box-shadow:0 10px 25px rgba(249,115,22,.08)}
.price span{text-transform:uppercase;font-size:.75rem;font-weight:900;color:#f97316}
.price h2,.price h3{font-size:1.2rem;font-weight:900;margin:.4rem 0}
.price strong{font-size:1.75rem;color:#0ea5e9}
.price-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #fed7aa;padding-top:.75rem}
.price-row span{font-size:.95rem;text-transform:none;color:#334155}
.price-row strong{font-size:1.15rem;white-space:nowrap}
.map-frame{width:100%;height:18rem;border:0;border-radius:1rem;background:#e0f2fe}
.blog-card-img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e0f2fe}
.blog-featured-img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:1.25rem;background:#e0f2fe;margin-top:1.5rem}
.mobile-menu-btn{display:inline-grid;width:2.75rem;height:2.75rem;place-content:center;gap:.28rem;border-radius:.8rem;border:1px solid #bae6fd;background:#fff}
.mobile-menu-btn span{display:block;width:1.35rem;height:.16rem;border-radius:999px;background:#123044}
.mobile-menu{position:absolute;top:100%;left:1rem;right:1rem;margin-top:.5rem;border-radius:1rem;background:#fff;padding:.75rem;box-shadow:0 20px 45px rgba(15,23,42,.18);border:1px solid #e0f2fe}
.mobile-menu a{display:block;border-radius:.75rem;padding:.85rem 1rem;font-weight:800;color:#123044;text-decoration:none}
.mobile-menu a:hover{background:#f0f9ff}
.mobile-menu .mobile-menu-cta{margin-top:.35rem;background:#f97316;color:#fff;text-align:center}
.gallery-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:85%;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.25rem 0 1rem;cursor:grab;user-select:none;touch-action:pan-y}
.gallery-carousel.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
.gallery-carousel::-webkit-scrollbar{height:.5rem}
.gallery-carousel::-webkit-scrollbar-thumb{background:#bae6fd;border-radius:999px}
.gallery-carousel img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1.25rem;background:#e0f2fe;scroll-snap-align:start;box-shadow:0 10px 25px rgba(2,132,199,.08);pointer-events:none}
.slider-btn{display:grid;width:2.75rem;height:2.75rem;place-items:center;border-radius:999px;background:#fff;border:1px solid #bae6fd;font-size:1.8rem;font-weight:900;color:#123044;box-shadow:0 8px 20px rgba(15,23,42,.08)}
@media (min-width:768px){.gallery-carousel{grid-auto-columns:calc((100% - 2rem)/3)}}
.faq{border-radius:1rem;background:#f8fafc;margin:.75rem 0;padding:1rem;border:1px solid #e2e8f0}
.faq summary{font-weight:900;cursor:pointer}
.prose-content{color:#334155;line-height:1.75}
.prose-content h2{font-size:1.8rem;font-weight:900;margin:2rem 0 .75rem}
.prose-content h3{font-size:1.35rem;font-weight:900;margin:1.5rem 0 .5rem}
.prose-content ul{list-style:disc;margin-left:1.5rem}
.gallery-img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1.25rem;background:#e0f2fe}
.avatar{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:1rem;background:#e0f2fe;margin-bottom:1rem}
.cta-final{text-align:center;background:#123044;color:#fff;padding:4rem 1rem}
.cta-final h2{font-size:clamp(1.8rem,4vw,3rem);font-weight:900;max-width:56rem;margin:0 auto 1.5rem}
.input{width:100%;border:1px solid #cbd5e1;border-radius:.8rem;padding:.9rem 1rem;margin-bottom:.8rem;background:#fff}
