.inner-hero{background:radial-gradient(circle at 85% 18%,rgba(0,174,239,0.12),transparent 28%),linear-gradient(135deg,var(--color-soft-white),var(--color-white));padding:76px 0;}.inner-hero-grid,.page-two-column,.quote-page-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center;}.inner-hero-copy h1{font-size:clamp(2.35rem,5vw,4.6rem);}.inner-hero-copy h2{color:var(--color-navy);font-size:clamp(1.1rem,2vw,1.55rem);}.inner-hero-copy p{font-size:1.07rem;max-width:720px;}.inner-hero-image,.page-image-card{overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);background:var(--color-white);}.inner-hero-image img,.page-image-card img{width:100%;height:100%;object-fit:cover;aspect-ratio:1.38 / 1;}.page-section{padding:88px 0;}.page-section.soft{background:var(--color-soft-white);}.page-section.grey{background:linear-gradient(135deg,var(--color-light-grey),#f3f7fb);}.page-copy{max-width:900px;margin-inline:auto;text-align:center;}.page-copy.left{text-align:left;margin-inline:0;}.product-card-large{background:var(--color-white);border:1px solid rgba(8,43,73,.08);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-card);display:flex;flex-direction:column;}.product-card-large img{width:100%;height:270px;object-fit:cover;}.product-card-large .card-body{display:flex;flex-direction:column;flex:1;}.product-card-large .btn{margin-top:auto;}.info-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}.info-card,.review-page-card,.contact-card,.legal-card,.faq-item{background:var(--color-white);border:1px solid rgba(8,43,73,.08);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:28px;}.info-card h3,.contact-card h3{color:var(--color-navy);font-size:1.15rem;margin-bottom:10px;}.check-list{display:grid;gap:12px;margin:22px 0;}.check-list li{display:flex;gap:10px;color:var(--color-charcoal);font-weight:700;}.check-list li::before{content:'✓';color:var(--color-green);font-weight:900;}.related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}.final-cta-inner{max-width:820px;text-align:center;margin-inline:auto;}.final-cta .section-kicker{color:var(--color-blue);justify-content:center;}.final-cta .section-kicker::before{background:var(--color-blue);}.final-cta .hero-actions{justify-content:center;}.cta-outline{background:transparent;color:var(--color-white);border-color:rgba(255,255,255,.55);}.review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;}.review-page-card .stars{color:#f8b400;letter-spacing:.08em;margin-bottom:12px;}.review-page-card h3{color:var(--color-navy);font-size:1.22rem;}.review-page-card .review-name{color:var(--color-navy);font-weight:900;margin-top:18px;}.faq-group{max-width:950px;margin:0 auto 46px;}.faq-group h2{font-size:1.8rem;margin-bottom:18px;}.faq-item{padding:0;overflow:hidden;margin-bottom:14px;}.faq-question{width:100%;background:var(--color-white);color:var(--color-navy);padding:20px 24px;display:flex;justify-content:space-between;align-items:center;text-align:left;font-weight:900;}.faq-question::after{content:'+';color:var(--color-blue);font-size:1.4rem;}.faq-question[aria-expanded='true']::after{content:'−';}.faq-answer{padding:0 24px 22px;color:var(--color-medium-grey);}.faq-answer[hidden]{display:none;}.gallery-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:28px 0 36px;}.gallery-filter button{border-radius:999px;padding:10px 16px;font-weight:800;background:var(--color-white);color:var(--color-navy);border:1px solid rgba(8,43,73,.14);}.gallery-filter button.is-active{background:var(--color-navy);color:var(--color-white);}.full-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}.full-gallery-grid figure{position:relative;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);background:var(--color-white);}.full-gallery-grid img{width:100%;height:270px;object-fit:cover;}.full-gallery-grid figcaption{position:absolute;left:12px;bottom:12px;right:12px;background:rgba(8,43,73,.88);color:var(--color-white);border-radius:999px;padding:10px 12px;text-align:center;font-weight:800;}.contact-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}.contact-detail-list{display:grid;gap:12px;margin-top:18px;}.contact-detail-list a{color:var(--color-navy);font-weight:800;}.area-chips.inner{justify-content:flex-start;margin-top:28px;}.map-placeholder{background:linear-gradient(135deg,#e8f5fb,#ffffff);border:1px solid rgba(8,43,73,.08);border-radius:var(--radius-lg);padding:58px;text-align:center;box-shadow:var(--shadow-card);}.legal-content{max-width:900px;margin-inline:auto;}.legal-content h2{font-size:1.55rem;margin-top:36px;}.legal-content p,.legal-content li{color:var(--color-medium-grey);}.legal-content ul{list-style:disc;padding-left:22px;margin:16px 0;}.thank-you-hero,.not-found-hero{min-height:62vh;display:flex;align-items:center;text-align:center;background:linear-gradient(135deg,var(--color-soft-white),var(--color-white));}.thank-you-hero .container,.not-found-hero .container{max-width:820px;}.footer-legal-links{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;}.final-cta .btn-light,.final-cta .btn-light:visited{color:var(--color-navy);background:var(--color-white);border-color:var(--color-white);font-weight:900;}.final-cta .btn-light:hover,.final-cta .btn-light:focus-visible{color:var(--color-white);background:var(--color-blue);border-color:var(--color-blue);}.full-gallery-grid figcaption{display:none;}.inner-hero-image img[src*="gallery-hero"]{object-fit:contain;background:var(--color-white);}.inner-hero-image img[src*="reviews-hero"]{object-fit:contain;background:var(--color-white);}.inner-hero-image img[src*="about-hero"]{object-fit:contain;background:var(--color-white);}.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;}.template-card{background:var(--color-white);border:1px solid rgba(8,43,73,0.08);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column;}.template-featured-image img,.blog-support-image img{width:100%;height:250px;object-fit:cover;}.template-card-body{padding:26px;display:flex;flex-direction:column;flex:1;}.template-card-body h3{color:var(--color-navy);font-size:1.28rem;margin:10px 0 12px;}.template-card-body p{color:var(--color-medium-grey);}.template-card-body .btn{align-self:flex-start;margin-top:auto;}.template-label{color:var(--color-blue);font-weight:900;letter-spacing:0.08em;text-transform:uppercase;font-size:0.75rem;}.project-mini-gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:0 18px 18px;}.project-mini-gallery img{width:100%;height:58px;object-fit:cover;border-radius:10px;}.blog-support-image{padding:0 18px 18px;}.blog-support-image img{height:150px;border-radius:16px;}.home-template-preview .template-grid{margin-top:34px;}.home-template-preview .template-card:nth-child(n+4){display:none;}


/* Public blog article detail pages */
.blog-article-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(320px, 1.05fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: center;
}
.blog-article-copy h1 {
    color: var(--color-navy);
    font-size: clamp(2.4rem, 5vw, 4.6rem);
    line-height: 0.98;
    margin: 0.75rem 0 1rem;
}
.article-meta {
    color: var(--color-text-muted);
    font-weight: 700;
    margin-top: 1rem;
}
.blog-article-image {
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    background: var(--color-white);
}
.blog-article-image img {
    width: 100%;
    height: auto;
    display: block;
}
.narrow-content {
    max-width: 900px;
}
.blog-article-content {
    color: var(--color-text);
    font-size: 1.08rem;
    line-height: 1.8;
}
.blog-article-content h2,
.blog-article-content h3,
.blog-article-content h4 {
    color: var(--color-navy);
    margin: 2rem 0 0.75rem;
}
.blog-article-content p,
.blog-article-content ul,
.blog-article-content ol,
.blog-article-content blockquote {
    margin-bottom: 1.2rem;
}
.blog-article-content a {
    color: var(--color-blue);
    font-weight: 700;
}
@media (max-width: 900px) {
    .blog-article-hero-grid {
        grid-template-columns: 1fr;
    }
    .blog-article-copy h1 {
        font-size: clamp(2.1rem, 11vw, 3.4rem);
    }
}
