:root{
  --sand:#f3ede3; --cream:#faf6f0; --clay:#7d6f5d; --clay-dark:#5d5142;
  --moss:#8a9a7b; --terra:#c08552; --ink:#3a342c; --muted:#857b6c;
  --line:#e3dac9; --white:#fffdf9; --shadow:0 8px 30px rgba(90,75,55,.08);
  --radius:22px; --radius-sm:14px;
  --serif:'Georgia','Times New Roman',serif;
  --sans:'Segoe UI',system-ui,-apple-system,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.7;font-size:17px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.25;color:var(--clay-dark);letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.4rem)}
h2{font-size:clamp(1.7rem,3.5vw,2.5rem)}
h3{font-size:1.35rem}
a{color:var(--clay);text-decoration:none;transition:.25s}
a:hover{color:var(--terra)}
img{max-width:100%;display:block}
.container{max-width:1140px;margin:0 auto;padding:0 24px}
section{padding:80px 0}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;color:var(--terra);font-weight:600;margin-bottom:14px}
.lead{font-size:1.15rem;color:var(--muted);max-width:640px}
.center{text-align:center}
.center .lead{margin:0 auto}

/* Buttons */
.btn{display:inline-block;background:var(--clay);color:var(--cream);padding:14px 32px;border-radius:50px;font-weight:600;border:none;cursor:pointer;font-size:1rem;transition:.3s}
.btn:hover{background:var(--clay-dark);color:var(--cream);transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--clay-dark);border:1.5px solid var(--clay)}
.btn-outline:hover{background:var(--clay);color:var(--cream)}

/* Header */
header{position:sticky;top:0;z-index:100;background:rgba(250,246,240,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1140px;margin:0 auto}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--clay-dark)}
.logo img{width:38px;height:38px}
.nav-links{display:flex;gap:28px;list-style:none;align-items:center}
.nav-links a{color:var(--ink);font-weight:500;font-size:.97rem}
.nav-links a:hover,.nav-links a.active{color:var(--terra)}
.menu-toggle{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--clay-dark)}

/* Hero */
.hero{background:linear-gradient(135deg,#f3ede3 0%,#ece3d4 100%);padding:90px 0}
.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.hero-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.hero-img img{width:100%;height:460px;object-fit:cover}
.hero h1{margin-bottom:20px}
.hero .lead{margin-bottom:30px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}

/* Cards */
.grid{display:grid;gap:28px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px;transition:.3s}
.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.card .icon{width:54px;height:54px;border-radius:14px;background:var(--sand);display:flex;align-items:center;justify-content:center;margin-bottom:18px;font-size:1.5rem}
.card h3{margin-bottom:10px}
.card p{color:var(--muted);font-size:.98rem}

.feature-img{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.feature-img img{width:100%;height:100%;object-fit:cover;min-height:340px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.split.rev .feature-text{order:2}

/* Stats */
.stats{background:var(--clay-dark);color:var(--sand)}
.stats .grid-3{gap:20px}
.stat{text-align:center;padding:20px}
.stat .num{font-family:var(--serif);font-size:2.8rem;color:var(--terra)}
.stat .lbl{color:#e0d6c4;font-size:.95rem;text-transform:uppercase;letter-spacing:.1em}

/* Bands */
.band{background:var(--sand)}
.band-cta{background:linear-gradient(135deg,#8a9a7b,#7d6f5d);color:var(--cream);text-align:center;border-radius:var(--radius);padding:60px 30px}
.band-cta h2{color:var(--cream)}
.band-cta .lead{color:#f0ebe1;margin:18px auto 28px}
.band-cta .btn{background:var(--cream);color:var(--clay-dark)}
.band-cta .btn:hover{background:var(--white)}

/* Process */
.steps{counter-reset:step}
.step{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px;position:relative}
.step::before{counter-increment:step;content:counter(step);position:absolute;top:-18px;left:28px;width:42px;height:42px;background:var(--terra);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.2rem}
.step h3{margin:12px 0 8px}
.step p{color:var(--muted);font-size:.95rem}

/* Testimonials */
.quote{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:32px}
.quote p{font-style:italic;color:var(--ink);margin-bottom:18px}
.quote .who{display:flex;align-items:center;gap:14px}
.quote .who img{width:50px;height:50px;border-radius:50%;object-fit:cover}
.quote .who strong{display:block;color:var(--clay-dark)}
.quote .who span{font-size:.85rem;color:var(--muted)}

/* Team */
.team-card{text-align:center}
.team-card img{width:100%;height:300px;object-fit:cover;border-radius:var(--radius)}
.team-card h3{margin:16px 0 4px}
.team-card .role{color:var(--terra);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em}

/* Page header */
.page-head{background:linear-gradient(135deg,#ece3d4,#f3ede3);padding:70px 0;text-align:center}
.page-head .lead{margin:14px auto 0}

/* Accordion */
.acc-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:14px;overflow:hidden}
.acc-q{padding:20px 24px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--clay-dark);font-family:var(--serif)}
.acc-q::after{content:'+';font-size:1.5rem;color:var(--terra)}
.acc-item.open .acc-q::after{content:'\2212'}
.acc-a{max-height:0;overflow:hidden;transition:.3s;padding:0 24px;color:var(--muted)}
.acc-item.open .acc-a{max-height:300px;padding:0 24px 22px}

/* Forms */
.form-wrap{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
form{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:36px}
.field{margin-bottom:20px}
.field label{display:block;font-weight:600;margin-bottom:7px;font-size:.92rem;color:var(--clay-dark)}
.field input,.field textarea,.field select{width:100%;padding:13px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;background:var(--cream);color:var(--ink)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--clay)}
.field textarea{resize:vertical;min-height:120px}
.form-note{font-size:.85rem;color:var(--muted);margin-top:8px}
.form-msg{padding:14px;border-radius:var(--radius-sm);margin-top:16px;display:none;background:#e8f0e2;color:#4a5d3a}
.contact-info li{list-style:none;margin-bottom:22px;display:flex;gap:14px;align-items:flex-start}
.contact-info .ci-ic{width:44px;height:44px;border-radius:12px;background:var(--sand);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.2rem}
.contact-info strong{display:block;color:var(--clay-dark)}
.contact-info span{color:var(--muted);font-size:.95rem}
.map-embed{border-radius:var(--radius);overflow:hidden;margin-top:24px;border:1px solid var(--line)}

/* Legal */
.legal{max-width:820px;margin:0 auto}
.legal h2{margin:34px 0 14px;font-size:1.5rem}
.legal h3{margin:24px 0 10px}
.legal p,.legal li{color:var(--ink);margin-bottom:14px}
.legal ul{padding-left:24px;margin-bottom:14px}
.legal .updated{color:var(--muted);font-style:italic;margin-bottom:30px}

/* Footer */
footer{background:var(--clay-dark);color:#d8cdb9;padding:60px 0 26px;font-size:.93rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px}
.footer-grid h4{color:var(--sand);margin-bottom:16px;font-size:1.05rem}
.footer-grid ul{list-style:none}
.footer-grid li{margin-bottom:10px}
.footer-grid a{color:#d8cdb9}
.footer-grid a:hover{color:var(--terra)}
.footer-logo{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:1.3rem;color:var(--sand);margin-bottom:14px}
.footer-logo img{width:36px;height:36px}
.footer-bottom{border-top:1px solid #5d5142;padding-top:22px;text-align:center;color:#a89d89;font-size:.85rem}

/* Cookie banner */
.cookie{position:fixed;bottom:20px;left:20px;right:20px;max-width:560px;margin:0 auto;background:var(--white);border:1px solid var(--line);box-shadow:0 12px 40px rgba(60,50,35,.18);border-radius:var(--radius);padding:24px;z-index:200;display:none}
.cookie.show{display:block}
.cookie p{font-size:.92rem;color:var(--muted);margin-bottom:16px}
.cookie-actions{display:flex;gap:12px;flex-wrap:wrap}
.cookie .btn{padding:10px 24px;font-size:.9rem}

@media(max-width:880px){
  .nav-links{position:fixed;top:68px;right:0;background:var(--cream);flex-direction:column;width:240px;height:calc(100vh - 68px);padding:30px;gap:18px;transform:translateX(100%);transition:.3s;border-left:1px solid var(--line)}
  .nav-links.open{transform:translateX(0)}
  .menu-toggle{display:block}
  .hero-grid,.split,.form-wrap,.grid-3,.grid-2{grid-template-columns:1fr}
  .split.rev .feature-text{order:0}
  .footer-grid{grid-template-columns:1fr 1fr}
  section{padding:56px 0}
  .hero-img img{height:320px}
}
@media(max-width:520px){
  .footer-grid{grid-template-columns:1fr}
}
