*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Inter Tight',sans-serif;background:#F7FFF7;color:#0A2028;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Lexend',serif;font-weight:600}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}

.nav{display:flex;justify-content:center;align-items:center;gap:48px;padding:24px 60px;background:#F7FFF7;position:sticky;top:0;z-index:100;border-bottom:1px solid #C0D8D0}
.nav__brand{font-family:'Lexend',serif;font-size:1.3rem;font-weight:700;color:#0A2028}
.nav a{font-size:0.85rem;color:#4A8890;font-weight:500;transition:color 0.3s}.nav a:hover{color:#1A535C}

.hero-min{text-align:center;padding:120px 60px 80px;max-width:800px;margin:0 auto;background:#F7FFF7}
.hero-min h1{font-size:clamp(2.4rem,5vw,4rem);color:#0A2028;line-height:1.08;margin-bottom:20px}
.hero-min p{font-size:1.15rem;color:#4A8890;line-height:1.7;margin-bottom:36px}
.btn-min{background:#1A535C;color:#fff;padding:14px 36px;border-radius:4px;font-weight:600;font-size:0.9rem;border:none;cursor:pointer;display:inline-block}

.cards-min{padding:60px;max-width:960px;margin:0 auto;background:#F7FFF7}
.cards-min h2{text-align:center;font-size:1.8rem;margin-bottom:48px;color:#0A2028}
.cards-min__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card-min{border:1px solid #C0D8D0;padding:32px;transition:border-color 0.3s}
.card-min:hover{border-color:#1A535C}
.card-min__icon{font-size:1.6rem;margin-bottom:16px;color:#1A535C}
.card-min h3{font-size:1.1rem;margin-bottom:10px;color:#0A2028}.card-min p{font-size:0.9rem;color:#4A8890;line-height:1.6}

.gallery-min{padding:60px;background:#E8F5E8}
.gallery-min__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:960px;margin:0 auto}
.gallery-min__grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}

@media(max-width:768px){
  .nav{flex-wrap:wrap;gap:16px;padding:16px 24px}
  .hero-min{padding:80px 24px 48px}
  .cards-min{padding:48px 24px}.cards-min__grid{grid-template-columns:1fr}
  .gallery-min{padding:48px 24px}.gallery-min__grid{grid-template-columns:1fr 1fr}
}
/* SitePilot: mobile nav toggle */
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;color:inherit}
@media(max-width:768px){
  .nav-toggle{display:block}
  .nav__cta{display:none}
  .nav__links{flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,0.98);backdrop-filter:blur(10px);padding:16px 24px;box-shadow:0 4px 12px rgba(0,0,0,0.1);gap:12px}
}
/* SitePilot: language flags */
.sp-lang-flags{display:flex;align-items:center;gap:4px;margin-left:auto}
.sp-lang-flags button{background:none;border:none;cursor:pointer;font-size:20px;opacity:0.35;transition:opacity 0.15s;padding:2px;line-height:1}
.sp-lang-flags button.active{opacity:1}
/* SitePilot: nav brand spacing */
.nav__brand{margin-right:32px;flex-shrink:0;white-space:nowrap}
/* SitePilot: CF7 form styling */
.wpcf7 .wpcf7-form p{margin-bottom:16px}
.wpcf7 .wpcf7-form label{display:block;font-weight:500;margin-bottom:4px;font-size:0.95rem}
.wpcf7 .wpcf7-form-control:not(.wpcf7-submit){width:100%;padding:12px 16px;border:1px solid rgba(255,255,255,0.15);border-radius:8px;background:rgba(255,255,255,0.06);color:inherit;font-size:1rem;transition:border-color 0.2s,box-shadow 0.2s;box-sizing:border-box}
.wpcf7 .wpcf7-form-control:not(.wpcf7-submit):focus{outline:none;border-color:var(--color-primary,#3b82f6);box-shadow:0 0 0 3px rgba(59,130,246,0.15)}
.wpcf7 textarea.wpcf7-form-control{min-height:140px;resize:vertical}
.wpcf7 .wpcf7-submit{display:inline-block;padding:12px 32px;background:var(--color-primary,#3b82f6);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background 0.2s,transform 0.1s}
.wpcf7 .wpcf7-submit:hover{background:var(--color-primary-dark,#2563eb);transform:translateY(-1px)}
.wpcf7 .wpcf7-submit:active{transform:translateY(0)}
.wpcf7 .wpcf7-spinner{display:inline-block;margin-left:8px}
.wpcf7 .wpcf7-response-output{margin:16px 0;padding:12px 16px;border-radius:8px;font-size:0.9rem}
/* SitePilot: Google Maps embed */
.contact-map iframe{width:100%;height:350px;border:none;border-radius:12px;margin-top:8px}
.contact-map{margin-bottom:24px}
