:root{
  --primaire:#ffff1b;
  --secondaire:#fefff9;
  --accent:#f59e0b;
  --ink:#23210b;
  --muted:#5a5640;
  --line:#e8e6d4;
  --radius:16px;
  --shadow:0 8px 28px rgba(40,38,10,.10);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Nunito',system-ui,sans-serif;
  color:var(--ink);
  background:var(--secondaire);
  line-height:1.65;
  font-size:17px;
}
h1,h2,h3,.brand,.tagline{font-family:'Fredoka',sans-serif;line-height:1.15}
.container{width:min(1120px,92%);margin-inline:auto}
.narrow{max-width:780px}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.skip-link{position:absolute;left:-999px;top:0;background:var(--accent);color:#fff;padding:.7rem 1rem;border-radius:0 0 8px 0;z-index:1000}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* Header */
.site-header{position:sticky;top:0;background:rgba(254,255,249,.95);backdrop-filter:blur(6px);border-bottom:3px solid var(--primaire);z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:.7rem 0}
.brand{display:flex;align-items:center;gap:.6rem;font-size:1.4rem;font-weight:700;color:var(--ink)}
.brand:hover{text-decoration:none}
.brand img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.main-nav ul{display:flex;gap:1.4rem;list-style:none;align-items:center}
.main-nav a{color:var(--ink);font-weight:700}
.nav-cta{background:var(--accent);color:#fff;padding:.5rem 1rem;border-radius:999px}
.nav-cta:hover{text-decoration:none;background:#d98708}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:.4rem}
.burger span{width:26px;height:3px;background:var(--ink);border-radius:3px;transition:.25s}

/* Hero */
.hero{position:relative;color:#fff;text-align:center;padding:5.5rem 0;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;background-image:url('images/hero.jpg'),linear-gradient(135deg,#f59e0b,#ffe000);background-size:cover;background-position:center}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(35,33,11,.35),rgba(35,33,11,.65))}
.hero-content{position:relative;z-index:1;max-width:760px;margin-inline:auto}
.hero h1{font-size:clamp(2.1rem,5vw,3.4rem);text-shadow:0 2px 12px rgba(0,0,0,.4)}
.tagline{font-size:clamp(1.2rem,2.6vw,1.6rem);margin:.8rem 0;color:var(--primaire);text-shadow:0 2px 8px rgba(0,0,0,.5)}
.hero-text{font-size:1.05rem;text-shadow:0 1px 6px rgba(0,0,0,.5);margin-bottom:1.6rem}
.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

.btn{display:inline-block;padding:.85rem 1.6rem;border-radius:999px;font-weight:700;font-family:'Fredoka',sans-serif;cursor:pointer;border:0;transition:.2s;font-size:1rem}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:#d98708;text-decoration:none;transform:translateY(-2px)}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff}
.btn-outline:hover{background:#fff;color:var(--ink);text-decoration:none}

/* Band */
.band{background:var(--primaire);padding:1.6rem 0}
.band-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}
.band-item{display:flex;flex-direction:column}
.band-item strong{font-family:'Fredoka',sans-serif;font-size:1.05rem}
.band-item span{font-size:.9rem;color:var(--muted)}

/* Sections */
.section{padding:4rem 0}
.section-alt{background:#fffdf0}
.section h2{font-size:clamp(1.7rem,3.5vw,2.4rem);margin-bottom:.8rem;text-align:center}
.section-intro{max-width:760px;margin:0 auto 2.4rem;text-align:center;color:var(--muted)}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.2s}
.card:hover{transform:translateY(-4px)}
.card-media{aspect-ratio:3/2;background:linear-gradient(135deg,#fff7d6,#fff)}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-body{padding:1.2rem}
.card-body h3{font-size:1.3rem;margin-bottom:.2rem}
.price{color:var(--accent);font-weight:700;font-family:'Fredoka',sans-serif;margin-bottom:.5rem}
.note{text-align:center;margin-top:2rem;color:var(--muted);font-size:.95rem}

/* About */
.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:center}
.about-media{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(135deg,#fff7d6,#fff)}
.about-media img{width:100%;height:100%;object-fit:cover}
.about-text h2{text-align:left}
.about-text p{margin-bottom:1rem}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:.8rem;padding:.4rem 1.2rem;box-shadow:0 2px 8px rgba(40,38,10,.05)}
.faq summary{font-family:'Fredoka',sans-serif;font-weight:600;cursor:pointer;padding:.7rem 0;font-size:1.05rem}
.faq details p{padding-bottom:.9rem;color:var(--muted)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.info-list{list-style:none;margin:1.2rem 0}
.info-list li{margin-bottom:1rem}
.zone{margin-top:1rem;color:var(--muted)}
.contact-form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;box-shadow:var(--shadow)}
.contact-form h3{font-size:1.3rem;margin-bottom:1rem}
.field{margin-bottom:1rem}
.field label{display:block;font-weight:700;margin-bottom:.3rem;font-size:.95rem}
.field input,.field textarea{width:100%;padding:.7rem .9rem;border:1px solid var(--line);border-radius:10px;font:inherit;background:var(--secondaire)}
.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none}
.consent{display:flex;gap:.6rem;align-items:flex-start}
.consent input{width:auto;margin-top:.35rem}
.consent label{font-weight:400;font-size:.9rem}
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-status{margin-top:1rem;font-weight:700;min-height:1.2em}
.form-status.ok{color:#15803d}
.form-status.err{color:#c0392b}

/* Footer */
.site-footer{background:var(--ink);color:#f4f1e0;padding:2.5rem 0 1.5rem;margin-top:0}
.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.site-footer a{color:var(--primaire)}
.site-footer strong{font-family:'Fredoka',sans-serif;font-size:1.2rem}
.copyright{text-align:center;margin-top:1.5rem;font-size:.85rem;color:#bdb89a}

/* Responsive */
@media(max-width:860px){
  .burger{display:flex}
  .main-nav{position:absolute;top:100%;left:0;right:0;background:var(--secondaire);border-bottom:3px solid var(--primaire);transform:scaleY(0);transform-origin:top;transition:.2s;display:block}
  .main-nav.open{transform:scaleY(1)}
  .main-nav ul{flex-direction:column;padding:1rem;gap:.4rem}
  .nav-cta{display:inline-block}
  .cards{grid-template-columns:1fr}
  .about-grid,.contact-grid{grid-template-columns:1fr}
  .band-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){
  .band-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto;transition:none}}