/* Shared structural defaults for canonical homepage blocks.
   Visual identity comes from per-template skins (.tpl-<slug>). Low specificity. */
.blk-head{text-align:center;margin-bottom:2rem}
.blk-head h2{font-family:var(--font-display);font-size:clamp(1.6rem,3vw,2.4rem);margin:0 0 .4rem}
.container-narrow{max-width:760px;margin-inline:auto}
.hero-inner{display:grid;gap:2rem;align-items:center}
.hero-overlay .hero-inner,.hero-spacious .hero-inner{grid-template-columns:1fr}
.hero-split .hero-inner,.hero-structured .hero-inner,.hero-color-block .hero-inner{grid-template-columns:1.1fr .9fr}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}
.hero-art{min-height:320px;border-radius:var(--radius-lg);background:
  linear-gradient(135deg,var(--clr-blush-light),var(--clr-sage-light))}
.services-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.service-card{display:block;padding:1.5rem;border-radius:var(--radius-lg);background:var(--clr-white);
  border:1px solid var(--clr-border-light);text-decoration:none;color:inherit}
.service-card i{font-size:1.5rem;color:var(--clr-primary);margin-bottom:.5rem}
.featured-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.tpl-product-card{display:flex;flex-direction:column;background:var(--clr-white);
  border:1px solid var(--clr-border-light);border-radius:var(--radius-lg);overflow:hidden}
.tpl-product-media{display:block;aspect-ratio:4/5}
.tpl-product-media img,.gallery-item img,.blog-media img{width:100%;height:100%;object-fit:cover;display:block}
.tpl-media-ph{display:block;width:100%;height:100%;min-height:200px;
  background:linear-gradient(135deg,var(--clr-cream),var(--clr-sage-light))}
.tpl-product-body{padding:1rem;display:flex;flex-direction:column;flex:1}
.tpl-product-foot{margin-top:auto;display:flex;flex-direction:column;gap:.5rem}
.gallery-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.gallery-masonry .gallery-grid{columns:3;column-gap:1rem;display:block}
.gallery-masonry .gallery-item{break-inside:avoid;margin-bottom:1rem}
.gallery-item{position:relative;border-radius:var(--radius-md);overflow:hidden}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:.6rem .8rem;
  background:rgba(44,36,32,.55);color:#fff;font-size:.85rem}
.subs-grid,.vp-grid,.tm-grid,.blog-grid{display:grid;gap:1.5rem}
.subs-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.vp-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.tm-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.blog-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.subs-card,.tm-card,.blog-card,.vp-item{background:var(--clr-white);border:1px solid var(--clr-border-light);
  border-radius:var(--radius-lg);padding:1.5rem}
.subs-card ul{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.5rem}
.subs-card.is-featured{border-color:var(--clr-primary);box-shadow:var(--shadow-lg)}
.vp-num{font-family:var(--font-display);font-size:2rem;color:var(--clr-gold)}
.tm-card cite{display:block;margin-top:.75rem;font-style:normal;color:var(--clr-text-muted)}
.blog-card{padding:0;overflow:hidden}.blog-body{padding:1.25rem}
.faq-list{display:grid;gap:.75rem}
.faq-item{border:1px solid var(--clr-border-light);border-radius:var(--radius-md);background:var(--clr-white)}
.faq-item summary{padding:1rem 1.25rem;cursor:pointer;font-weight:600;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-answer{padding:0 1.25rem 1.25rem}
.blk-cta{padding:var(--space-3xl) 0;background:var(--clr-bg-alt)}
.cta-inner{text-align:center;display:grid;gap:1.25rem;justify-items:center}
.cta-inverted{background:var(--clr-dark);color:var(--clr-white)}
.blk-newsletter{padding:var(--space-3xl) 0;background:var(--clr-bg-alt)}
.nl-inner{display:flex;gap:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.nl-form{display:flex;gap:.5rem;flex-wrap:wrap}
.nl-form input{padding:.7rem 1rem;border:1px solid var(--clr-border);border-radius:var(--radius-md);min-width:240px}
.inquiry-form{display:grid;gap:1rem}
.inquiry-form .form-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
.inquiry-form label{display:grid;gap:.35rem;font-size:.9rem}
.inquiry-form input,.inquiry-form textarea{padding:.7rem 1rem;border:1px solid var(--clr-border);
  border-radius:var(--radius-md);font:inherit;width:100%}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.btn-sm{padding:.4rem .8rem;font-size:.85rem}
@media (max-width:768px){
  .hero-split .hero-inner,.hero-structured .hero-inner,.hero-color-block .hero-inner{grid-template-columns:1fr}
  .gallery-masonry .gallery-grid{columns:2}
  .inquiry-form .form-row{grid-template-columns:1fr}
}
@media (max-width:480px){ .gallery-masonry .gallery-grid{columns:1} }
.container-boxed .container{max-width:1080px}
