
:root {
  --bg: #f7f1eb;
  --bg-2: #fffdfb;
  --line: #e8ddd4;
  --text: #1e1b18;
  --muted: #6d6258;
  --accent: #b6846b;
  --accent-dark: #9f6f58;
  --shadow: 0 20px 56px rgba(32, 18, 8, 0.08);
  --radius: 28px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, sans-serif;
  color: var(--text);
  background: linear-gradient(180deg,#f8f3ef 0%,#f4ece5 52%,#efe5de 100%);
}
a { color: inherit; text-decoration: none; }
img { display:block; max-width:100%; }
.container { width:min(1180px, calc(100% - 32px)); margin:0 auto; }
.section { padding: 36px 0; }
.topbar {
  padding: 12px 0 0;
}
.topbar-inner {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  border:1px solid rgba(220,209,199,.85); background:rgba(255,255,255,.78);
  backdrop-filter: blur(8px); border-radius:22px; padding:12px 14px; font-size:12px; color:var(--muted);
}
.topbar-controls { display:flex; gap:10px; }
select {
  border:1px solid #ddd2c7; background:#fff; color:#524940; border-radius:999px; padding:9px 12px; font-size:12px;
}
.site-header {
  padding: 10px 0 0;
}
.header-inner {
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  background:rgba(255,255,255,.88); border:1px solid rgba(227,217,208,.9); border-radius:24px;
  padding:16px 18px; box-shadow: 0 10px 30px rgba(0,0,0,.05); position:relative;
}
.brand { display:flex; flex-direction:column; gap:5px; }
.brand-name { font-family:"Cormorant Garamond", serif; font-size:36px; line-height:1; }
.brand-tag { text-transform:uppercase; letter-spacing:.24em; font-size:11px; color:#7b7068; }
.nav { display:flex; gap:22px; color:#544b44; font-size:14px; }
.nav a:hover { color:#111; }
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  border-radius:999px; padding:14px 22px; font-weight:600; font-size:14px; border:1px solid transparent;
}
.btn-dark { background:#181513; color:#fff; }
.btn-accent { background:var(--accent); color:#fff; }
.btn-light { background:#fff; color:#222; border-color:#ddd2c7; }
.menu-toggle { display:none; }
.hero {
  display:grid; grid-template-columns: 1.05fr .95fr; gap:28px; align-items:center;
  background: linear-gradient(135deg,#fcf8f4, #fffdfb 45%, #f3e7df);
  border:1px solid var(--line); border-radius:36px; padding:22px; box-shadow: var(--shadow);
}
.eyebrow { text-transform:uppercase; letter-spacing:.22em; font-size:11px; color:#8b7d71; }
.section-heading.center { text-align:center; max-width:800px; margin:0 auto 20px; }
.section-heading h2, .hero h1 { font-family:"Cormorant Garamond", serif; margin:10px 0 0; }
.hero h1 { font-size:64px; line-height:.95; }
.hero-sub { font-size:20px; line-height:1.55; color:#403730; margin:18px 0 0; max-width: 720px; }
.hero-body { font-size:16px; line-height:1.8; color:var(--muted); margin:18px 0 0; max-width: 680px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.hero-meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.hero-meta span, .tag-row span { border:1px solid #ddd2c7; background:#fff; border-radius:999px; padding:10px 14px; font-size:13px; color:#5b5148; }
.card-media { overflow:hidden; border-radius:24px; border:1px solid rgba(232,221,212,.85); background:#fff; box-shadow:0 12px 30px rgba(0,0,0,.05); }
.card-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.large-media { min-height: 520px; }
.feature-grid, .range-grid, .product-grid, .set-grid, .detail-grid {
  display:grid; gap:18px;
}
.feature-grid { grid-template-columns: repeat(4, 1fr); }
.feature-card, .product-card, .set-card, .info-card, .inquiry-form, .range-card {
  background:rgba(255,255,255,.9); border:1px solid var(--line); border-radius:28px; box-shadow:0 12px 32px rgba(0,0,0,.04);
}
.feature-card { padding:22px; }
.feature-card h3, .product-card h3, .set-card h3, .info-card h3, .range-card h3 { margin:0; font-size:20px; }
.feature-card p, .product-card p, .set-card p, .info-card p, .range-card p, .section-heading p, .inquiry-copy p { color:var(--muted); line-height:1.75; font-size:15px; }
.range-grid { grid-template-columns: repeat(4, 1fr); }
.range-card .card-copy { padding:16px 18px 18px; }
.product-grid { grid-template-columns: repeat(4, 1fr); }
.product-card { padding:18px; }
.product-card .card-media { height: 220px; margin-bottom:16px; }
.link-btn { display:inline-flex; margin-top:8px; font-weight:600; color:var(--accent-dark); }
.set-grid { grid-template-columns: repeat(3, 1fr); }
.set-card { padding:18px; }
.set-card .card-media { height:240px; margin-bottom:16px; }
.stack-actions { display:flex; flex-direction:column; gap:10px; margin-top:16px; }
.two-col { display:grid; grid-template-columns: 1.1fr .9fr; gap:22px; }
.process-list { display:grid; gap:14px; }
.process-list article { border:1px solid var(--line); background:#fffdfa; border-radius:24px; padding:18px; }
.process-list strong { display:block; margin-bottom:6px; font-size:17px; }
.side-stack { display:grid; gap:16px; }
.info-card { padding:22px; }
.tag-row { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.detail-grid { grid-template-columns: repeat(3, 1fr); }
.detail-grid.two-up { grid-template-columns: repeat(2, 1fr); }
.detail-card { position:relative; min-height:220px; }
.detail-card span {
  position:absolute; left:14px; bottom:14px; background:rgba(255,255,255,.92); border-radius:999px; padding:9px 12px; font-size:13px; font-weight:600;
}
.inquiry-wrap { display:grid; grid-template-columns: .92fr 1.08fr; gap:22px; }
.inquiry-copy, .inquiry-form { padding:22px; }
.contact-links { display:grid; gap:10px; margin:18px 0 22px; }
.contact-links a { color:var(--accent-dark); font-weight:600; }
.inquiry-media { height: 280px; }
.form-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap:14px; }
label { display:block; }
label span { display:block; margin-bottom:8px; font-size:14px; color:#62574e; }
input, textarea {
  width:100%; border:1px solid #ddd2c7; background:#fff; border-radius:18px; padding:14px 15px; font:inherit; color:#2b2621;
}
textarea { resize:vertical; }
label.full { grid-column:1 / -1; }
.full-btn { width:100%; margin-top:16px; }
.site-footer { padding: 16px 0 28px; color:#6a6058; text-align:center; font-size:14px; }

@media (max-width: 1040px) {
  .feature-grid, .range-grid, .product-grid { grid-template-columns: repeat(2, 1fr); }
  .set-grid, .two-col, .inquiry-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 860px) {
  .topbar-inner { flex-direction:column; align-items:flex-start; }
  .hero { grid-template-columns: 1fr; }
  .hero h1 { font-size:46px; }
  .nav, .desktop-cta { display:none; }
  .menu-toggle {
    display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:999px;
    border:1px solid #ddd2c7; background:#fff; font-size:20px;
  }
  .header-inner { flex-wrap:wrap; }
  .nav.open {
    display:grid; grid-template-columns:1fr; gap:8px; width:100%; order:3; padding-top:6px;
  }
  .nav.open a { padding:10px 12px; border-radius:14px; background:#fdf9f6; }
}
@media (max-width: 640px) {
  .container { width:min(100% - 20px, 1180px); }
  .topbar { padding-top:8px; }
  .topbar-inner { padding:10px 12px; gap:10px; }
  .topbar-controls { width:100%; display:grid; grid-template-columns: 1fr 1fr; }
  .header-inner { padding:14px 14px; }
  .brand-name { font-size:28px; }
  .brand-tag { font-size:9px; letter-spacing:.16em; }
  .hero { padding:16px; gap:18px; border-radius:28px; }
  .hero h1 { font-size:40px; }
  .hero-sub { font-size:17px; margin-top:12px; }
  .hero-body { font-size:15px; margin-top:12px; }
  .hero-actions { flex-direction:column; }
  .hero-actions .btn, .stack-actions .btn { width:100%; }
  .large-media { min-height: 320px; }
  .feature-grid, .range-grid, .product-grid, .set-grid, .detail-grid, .detail-grid.two-up, .form-grid { grid-template-columns: 1fr; }
  .section { padding:26px 0; }
  .section-heading h2 { font-size:38px; line-height:1.02; }
  .product-card .card-media, .set-card .card-media, .inquiry-media { height:220px; }
}
