
:root{
  --bg:#f6f0e6;
  --bg-2:#fbf8f2;
  --bg-3:#efe4d3;
  --text:#2f3a31;
  --muted:#647066;
  --green:#274133;
  --green-2:#355543;
  --gold:#b18756;
  --line:rgba(47,58,49,.10);
  --shadow:0 18px 60px rgba(53,43,30,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Manrope,Arial,Helvetica,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at top left, rgba(182,156,111,.16), transparent 26%),
    radial-gradient(circle at 85% 18%, rgba(95,120,96,.12), transparent 18%),
    var(--bg);
  line-height:1.6;
}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.wrap{width:min(1180px, calc(100% - 28px)); margin:0 auto}
.topbar{
  position:sticky; top:0; z-index:40;
  background:rgba(246,240,230,.90);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 0; flex-wrap:wrap;
}
.brand{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:2rem; font-weight:700; letter-spacing:.04em; color:var(--green);
}
.brand span{color:var(--gold)}
.nav-links{display:flex; gap:18px; flex-wrap:wrap; color:#5c685d; font-size:.95rem}
.nav-links a:hover{color:var(--green)}
.hero{padding:72px 0 88px}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:26px; align-items:stretch}
.hero-copy,.panel,.feature-card,.board-card,.gallery-card,.pricing-card,.faq-item,.contact-card{
  background:rgba(255,251,245,.82);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  border-radius:30px;
}
.hero-copy{padding:42px}
.eyebrow{
  display:inline-block; text-transform:uppercase; letter-spacing:.18em;
  font-size:.74rem; color:#7b866f; margin-bottom:14px;
}
h1,h2,h3,h4{
  font-family:"Cormorant Garamond", Georgia, serif;
  line-height:.96; margin:0; color:var(--green);
}
h1{font-size:clamp(3.1rem,8vw,6rem); margin-bottom:18px}
h2{font-size:clamp(2.4rem,6vw,4.2rem); margin-bottom:12px}
h3{font-size:2rem; margin-bottom:10px}
.hero-copy p,.section-copy,.muted{color:var(--muted)}
.btn-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:22px}
.btn{
  display:inline-block; padding:14px 22px; border-radius:999px;
  font-weight:700; transition:.2s ease;
}
.btn-primary{background:var(--green); color:#f8f2e8}
.btn-primary:hover{background:#1f3428; transform:translateY(-2px)}
.btn-secondary{
  border:1px solid rgba(39,65,51,.16); background:rgba(39,65,51,.05); color:var(--green);
}
.btn-secondary:hover{transform:translateY(-2px); background:rgba(39,65,51,.08)}
.hero-badges{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:28px}
.badge-card{
  padding:14px 14px 16px; border-radius:20px; background:var(--bg-3); border:1px solid var(--line);
}
.badge-card strong{display:block; color:var(--green); margin-bottom:4px}
.badge-card span{font-size:.88rem; color:#6f7b71}
.hero-visual{display:grid; grid-template-rows:1.2fr .8fr; gap:18px}
.hero-image,.mini-panel{border-radius:30px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line); background:#fffaf3}
.hero-image img{height:100%; min-height:420px; width:100%; object-fit:cover}
.mini-panel{display:grid; grid-template-columns:1fr 1fr}
.mini-panel .text{padding:24px; background:linear-gradient(135deg,#fff8ef,#f2e7d5); display:flex; flex-direction:column; justify-content:center}
.mini-panel .text h3{font-size:2rem}
.mini-panel .text p{margin:6px 0 0; color:#5e695f}
.mini-panel img{height:100%; min-height:220px; width:100%; object-fit:cover}
.section{padding:24px 0 82px}
.section-heading{text-align:center; max-width:780px; margin:0 auto 34px}
.section-heading p{margin:0; color:#68746a}
.boards-grid,.pricing-grid,.gallery-grid,.contact-grid{display:grid; gap:22px}
.boards-grid{grid-template-columns:repeat(3,1fr)}
.board-card img{height:260px; width:100%; object-fit:cover}
.board-body{padding:22px}
.board-body p{margin:0 0 14px; color:#637066}
.tag{
  display:inline-block; padding:7px 12px; border-radius:999px;
  background:var(--bg-3); color:#816341; font-size:.8rem; font-weight:700; margin-right:8px; margin-top:4px;
}
.split{display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:stretch}
.panel{padding:30px}
.feature-list{display:grid; gap:14px; margin-top:20px}
.feature-card{padding:18px; background:#f1e8db; box-shadow:none; border-radius:20px}
.feature-card strong{display:block; margin-bottom:4px; color:var(--green)}
.feature-card span{color:#6d796f; font-size:.94rem}
.pricing-grid{grid-template-columns:repeat(3,1fr)}
.pricing-card{padding:26px}
.price{
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:3rem; color:var(--gold); margin:6px 0 14px;
}
.pricing-card ul{padding-left:18px; color:var(--muted); margin:0 0 20px}
.pricing-card li{margin-bottom:8px}
.gallery-grid{grid-template-columns:repeat(3,1fr)}
.gallery-card img{height:300px; width:100%; object-fit:cover}
.gallery-card .caption{padding:18px; color:var(--muted)}
.faq-list{display:grid; gap:16px; max-width:960px; margin:0 auto}
.faq-item{padding:22px}
.faq-item h3{font-size:1.65rem; margin-bottom:10px}
.faq-item p{margin:0; color:var(--muted)}
.contact-grid{grid-template-columns:.95fr 1.05fr}
.contact-card{padding:30px}
.contact-list{display:grid; gap:12px; color:var(--muted); margin-top:18px}
form{display:grid; gap:12px; margin-top:18px}
.row-2{display:grid; grid-template-columns:1fr 1fr; gap:12px}
input,textarea,select{
  width:100%; border:1px solid rgba(39,65,51,.12); background:#fffdf9;
  padding:14px 16px; border-radius:16px; font:inherit; color:var(--text);
}
textarea{min-height:140px; resize:vertical}
.form-note{font-size:.88rem; color:#7a857a; margin-top:10px}
.callout{
  background:linear-gradient(135deg, rgba(177,135,86,.14), rgba(255,255,255,.35));
  border:1px solid var(--line);
  border-radius:34px;
  padding:32px;
  box-shadow:var(--shadow);
  text-align:center;
}
footer{
  padding:34px 0 46px; text-align:center; color:#7b857c;
  border-top:1px solid var(--line); background:rgba(255,255,255,.2);
}
.footer-links{display:flex; gap:16px; justify-content:center; flex-wrap:wrap; margin-bottom:10px}
@media (max-width: 950px){
  .hero-grid,.boards-grid,.split,.pricing-grid,.gallery-grid,.contact-grid,.hero-badges,.row-2{
    grid-template-columns:1fr;
  }
  .hero-visual{grid-template-rows:auto}
  .mini-panel{grid-template-columns:1fr}
  .hero-copy,.panel,.contact-card{padding:26px}
  .nav-links{width:100%; justify-content:flex-start}
}
