:root{
  --container-max: 1200px;
  --container-pad: clamp(16px, 3vw, 40px);
  --radius: 16px;
}

/* Layout helpers */
.container{max-width:var(--container-max);margin-inline:auto;padding:0 var(--container-pad);}
.grid{display:grid;gap:clamp(16px,2vw,28px);}
.grid-2{grid-template-columns: repeat(2, minmax(0,1fr));}
.grid-3{grid-template-columns: repeat(3, minmax(0,1fr));}
@media (max-width: 900px){
  .grid-2,.grid-3{grid-template-columns:1fr;}
}

.site-header{position:sticky;top:0;background:#ffffffcc;backdrop-filter:saturate(180%) blur(6px);z-index:50;border-bottom:1px solid #eee;}
.site-header .inner{display:flex;align-items:center;gap:20px;justify-content:space-between;padding:12px var(--container-pad);}
.site-header .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-weight:700}
.site-header nav ul{list-style:none;display:flex;gap:20px;margin:0;padding:0}
.site-header nav a{text-decoration:none;color:inherit}
.site-header .cta a{padding:10px 16px;border-radius:9999px;background:var(--wp--preset--color--leaf);color:#fff;text-decoration:none}

.hero{min-height:60svh;display:grid;place-items:center;background-size:cover;background-position:center;border-radius:0 0 var(--radius) var(--radius);}
.hero .overlay{background:linear-gradient(180deg, #00000066, #00000000);inset:0;position:absolute;border-radius:inherit}
.hero .content{position:relative;text-align:center;color:#fff;padding:80px 20px}
.hero .content h1{font-size:clamp(2rem, 5vw, 4rem);margin:0 0 10px}
.hero .content p{font-size:clamp(1.125rem, 2.5vw, 1.375rem)}

.section{padding:clamp(40px,6vw,80px) 0}
.section.alt{background:var(--wp--preset--color--cream)}

.card{background:#fff;border:1px solid #eee;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;height:auto;display:block;aspect-ratio:4/3;object-fit:cover}
.card .pad{padding:18px}

.gallery{columns: 3 320px; column-gap: 12px;}
.gallery img{width:100%;margin:0 0 12px;border-radius:12px;display:block}

.msf-form{display:grid;gap:12px;max-width:560px}
.msf-form label{display:grid;gap:6px;font-weight:600}
.msf-form input{padding:12px;border:1px solid #ddd;border-radius:10px}
.msf-form .disclaimer{font-size:0.875rem;color:#555;margin:0}
.footer{background:#0f1a12;color:#e9f3ec;padding:40px 0;border-top:1px solid #223}
.footer a{color:#c8f7dd;text-decoration:none}
.footer .columns{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
@media (max-width: 900px){ .footer .columns{grid-template-columns:1fr} }
