@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');

:root {
  --paper: #f6f3ee;
  --ink: #20201e;
  --muted: #77736c;
  --line: #d9d4ca;
  --white: #fffdf9;
  --accent: #b7a58b;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "DM Sans", Arial, sans-serif; line-height: 1.6; }
a { color: inherit; text-decoration: none; }
.nav { height: 78px; padding: 0 6vw; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(246,243,238,.94); backdrop-filter:blur(12px); z-index:10; }
.brand { font-size: 15px; font-weight:600; letter-spacing:.16em; }
.brand span { font-weight:400; }
nav { display:flex; gap:28px; font-size:13px; color:var(--muted); }
nav a:hover { color:var(--ink); }
.hero { min-height: calc(100vh - 78px); padding: 7vw 6vw; display:grid; grid-template-columns: 1fr 1fr; gap:7vw; align-items:center; }
.eyebrow { font-size:11px; letter-spacing:.18em; color:var(--muted); font-weight:600; margin:0 0 18px; }
h1,h2,h3,p { margin-top:0; }
h1 { font-size:clamp(46px,6vw,86px); line-height:1.02; letter-spacing:-.045em; font-weight:500; max-width:720px; margin-bottom:28px; }
h1 em,h2 em { font-family:"Playfair Display", Georgia, serif; font-weight:500; }
.lead { font-size:18px; color:var(--muted); max-width:590px; }
.buttons { display:flex; gap:12px; margin-top:35px; flex-wrap:wrap; }
.button { padding:13px 20px; border:1px solid var(--ink); font-size:13px; }
.button.dark { background:var(--ink); color:var(--white); }
.button.light { background:transparent; }
.hero-image { min-height:520px; }
.photo-placeholder { height:100%; min-height:520px; background:#ddd7cd; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; letter-spacing:.16em; font-size:14px; }
.photo-placeholder small { letter-spacing:0; color:#6d675e; max-width:240px; margin-top:10px; font-size:12px; }
.intro { padding:10vw 12vw; border-top:1px solid var(--line); }
.intro h2,.contact h2 { font-size:clamp(35px,4.5vw,62px); line-height:1.08; font-weight:500; letter-spacing:-.035em; max-width:850px; }
.intro > p:not(.eyebrow) { max-width:760px; color:var(--muted); font-size:17px; }
.facts { margin-top:55px; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.facts div { padding:25px 15px 0 0; border-right:1px solid var(--line); }
.facts div:last-child { border-right:0; }
.facts strong { display:block; font-size:22px; font-weight:500; }
.facts span { color:var(--muted); font-size:12px; }
.products { padding:8vw 6vw; background:var(--white); }
.section-heading { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:55px; }
.section-heading h2 { font-size:clamp(40px,5vw,70px); line-height:1; font-weight:500; letter-spacing:-.04em; margin:0; }
.section-heading > p { color:var(--muted); max-width:410px; margin:0; }
.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.product-card { border:1px solid var(--line); background:var(--paper); }
.product-image { aspect-ratio:4/3; background:#ded8ce; display:flex; align-items:center; justify-content:center; text-align:center; font-size:13px; letter-spacing:.16em; line-height:1.7; }
.product-copy { padding:27px; }
.number { color:var(--muted); font-size:11px; margin-bottom:8px; }
.product-copy h3 { font-size:24px; font-weight:500; margin-bottom:12px; }
.product-copy p:last-child { color:var(--muted); font-size:14px; margin:0; }
.statement { padding:12vw 6vw; text-align:center; }
.statement p { font-family:"Playfair Display",Georgia,serif; font-size:clamp(35px,5vw,68px); line-height:1.1; max-width:900px; margin:auto; }
.contact { padding:9vw 12vw; background:#e9e4db; display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; }
.contact h2 { margin-bottom:20px; }
.contact > div > p:not(.eyebrow) { color:var(--muted); max-width:520px; }
.contact-box { border-top:1px solid #c9c2b7; }
.contact-box > div { padding:22px 0; border-bottom:1px solid #c9c2b7; }
.contact-box span { display:block; font-size:11px; text-transform:uppercase; letter-spacing:.16em; color:var(--muted); margin-bottom:5px; }
.contact-box a,.contact-box p { font-size:16px; margin:0; }
footer { padding:28px 6vw; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:12px; color:var(--muted); }
footer .brand { color:var(--ink); }

@media (max-width: 800px) {
  .nav { padding:0 5vw; }
  nav { display:none; }
  .hero { grid-template-columns:1fr; padding:14vw 6vw; }
  .hero-image,.photo-placeholder { min-height:360px; }
  .facts { grid-template-columns:repeat(2,1fr); }
  .facts div:nth-child(2) { border-right:0; }
  .facts div:nth-child(3), .facts div:nth-child(4) { border-top:1px solid var(--line); padding-top:20px; }
  .section-heading,.contact { display:block; }
  .section-heading > p { margin-top:25px; }
  .product-grid { grid-template-columns:1fr; }
  .contact-box { margin-top:45px; }
  footer { display:block; }
  footer p { margin-top:10px; }
}
