:root{
    --paper:#F6F1E7; --paper2:#EFE7D8; --ink:#2B2620; --muted:#6B6157;
    --rule:#B9AA92; --red:#8C2F24; --green:#3F4F35;
  }
  *{box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:'EB Garamond',Georgia,serif;font-size:19px;line-height:1.6}
  img{max-width:100%;display:block}
  a{color:var(--red)}
  .wrap{max-width:1040px;margin:0 auto;padding:0 24px}
  .sc{font-family:'Cormorant SC',Georgia,serif;letter-spacing:.06em;font-weight:600}
  .rule{border:0;border-top:1px solid var(--rule);margin:0}
  .double{border-top:3px double var(--rule)}
  .ornament{display:flex;align-items:center;gap:16px;justify-content:center;color:var(--rule);margin:8px 0}
  .ornament::before,.ornament::after{content:"";flex:0 1 120px;border-top:1px solid var(--rule)}

  /* header */
  .topbar{background:var(--green);color:#EFE7D8;font-size:15px;text-align:center;padding:8px 16px}
  header.mast{text-align:center;padding:36px 0 18px}
  header.mast img.logo{width:110px;margin:0 auto 6px;mix-blend-mode:multiply}
  header.mast h1{margin:0;font-weight:500;font-size:64px;line-height:1;letter-spacing:.02em}
  header.mast .tag{margin:10px 0 0;color:var(--muted);font-style:italic;font-size:20px}
  nav.main{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:26px}
  nav.main ul{list-style:none;margin:0 auto;padding:0;display:flex;justify-content:center;flex-wrap:wrap}
  nav.main a{display:block;padding:12px 22px;color:var(--ink);text-decoration:none;font-size:17px;letter-spacing:.08em}
  nav.main a:hover{color:var(--red)}

  /* hero */
  .hero{padding:40px 0 20px}
  .hero figure{margin:0}
  .hero img{width:100%;aspect-ratio:16/8;object-fit:cover;border:1px solid var(--rule);padding:8px;background:#fff}
  .hero figcaption{text-align:center;font-style:italic;color:var(--muted);font-size:16px;margin-top:10px}
  .intro{text-align:center;max-width:720px;margin:28px auto 0}
  .intro p.lead{font-size:24px;line-height:1.5;margin:0 0 14px}
  .intro p{margin:0 0 14px;color:#453D34}
  .facts{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;margin:36px 0 8px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
  .facts div{padding:18px 8px;border-right:1px solid var(--rule)}
  .facts div:last-child{border-right:0}
  .facts b{display:block;font-weight:500;font-size:26px}
  .facts span{color:var(--muted);font-size:15px}

  section{padding:56px 0}
  h2{font-family:'Cormorant SC',Georgia,serif;font-weight:600;font-size:38px;text-align:center;margin:0 0 6px;letter-spacing:.04em}
  .sub{text-align:center;color:var(--muted);font-style:italic;margin:0 0 34px}

  /* products */
  .grid{display:flex;flex-wrap:wrap;justify-content:center;gap:34px 28px}
  .grid>.item{flex:0 1 calc((100% - 56px)/3)}
  .item{text-align:center}
  .item img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--rule);padding:6px;background:#fff}
  .item h3{font-weight:500;font-size:23px;margin:14px 0 2px}
  .item p{margin:0;color:var(--muted);font-size:16px}
  .item a{display:inline-block;margin-top:8px;font-size:16px;letter-spacing:.06em}

  /* price tables */
  .two{display:grid;grid-template-columns:1fr 1fr;gap:48px}
  .card{background:var(--paper2);border:1px solid var(--rule);padding:30px 32px}
  .card h3{font-family:'Cormorant SC',Georgia,serif;font-weight:600;font-size:28px;margin:0 0 4px;text-align:center}
  .card .note{text-align:center;color:var(--muted);font-style:italic;font-size:16px;margin:0 0 18px}
  table{width:100%;border-collapse:collapse;font-size:18px}
  td{padding:9px 0;border-bottom:1px dotted var(--rule)}
  td:last-child{text-align:right;font-weight:500}
  .card p.small{font-size:16px;color:#453D34;margin:16px 0 0}

  /* story */
  .story{display:grid;grid-template-columns:5fr 6fr;gap:44px;align-items:center}
  .story img{border:1px solid var(--rule);padding:8px;background:#fff;width:100%;aspect-ratio:4/5;object-fit:cover}
  .story p{margin:0 0 14px}
  .story p:first-of-type::first-letter{float:left;font-size:64px;line-height:.9;padding:6px 8px 0 0;color:var(--red);font-family:'Cormorant SC',Georgia,serif}
  .steps{list-style:none;padding:0;margin:22px 0 0;counter-reset:s}
  .steps li{counter-increment:s;padding:8px 0 8px 44px;position:relative;border-top:1px dotted var(--rule)}
  .steps li::before{content:counter(s,upper-roman);position:absolute;left:0;top:8px;color:var(--red);font-family:'Cormorant SC',Georgia,serif;font-size:20px}

  /* contact */
  .contact{background:var(--green);color:#EFE7D8}
  .contact h2{color:#F6F1E7}
  .contact .sub{color:#CFC6B4}
  .contact a{color:#F6F1E7}
  .cgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
  .cgrid address{font-style:normal;font-size:19px;line-height:1.9}
  form label{display:block;font-size:15px;letter-spacing:.06em;margin:12px 0 4px}
  form input,form select,form textarea{width:100%;font:inherit;font-size:18px;padding:10px 12px;border:1px solid #8E9A80;background:#F6F1E7;color:var(--ink)}
  form textarea{min-height:120px;resize:vertical}
  form button{margin-top:16px;font:inherit;font-size:18px;letter-spacing:.08em;background:#F6F1E7;color:var(--green);border:0;padding:12px 28px;cursor:pointer}
  form button:hover{background:#fff}
  footer{text-align:center;color:var(--muted);font-size:15px;padding:26px 0 34px}

  @media (max-width:760px){
    body{font-size:18px}
    header.mast h1{font-size:46px}
    nav.main a{padding:10px 12px;font-size:16px}
    .facts{grid-template-columns:repeat(2,1fr)}
    .facts div:nth-child(2){border-right:0}
    .facts div:nth-child(-n+2){border-bottom:1px solid var(--rule)}
    .grid{gap:24px 14px}
    .grid>.item{flex-basis:calc((100% - 14px)/2)}
    .two,.story,.cgrid{grid-template-columns:1fr;gap:28px}
    .hero img{aspect-ratio:4/3}
    .intro p.lead{font-size:21px}
  }

  /* subpages */
  .page{padding:36px 24px 56px}
  h1.ptitle{font-weight:600;font-size:46px;text-align:center;margin:0 0 6px;letter-spacing:.04em;line-height:1.15}
  .crumbs{text-align:center;font-size:16px;color:var(--muted);margin:0 0 10px}
  .crumbs a{color:var(--muted)}
  .prose{max-width:740px;margin:0 auto}
  .prose p{margin:0 0 14px}
  .prose h3{font-family:'Cormorant SC',Georgia,serif;font-weight:600;font-size:28px;text-align:center;margin:30px 0 8px;letter-spacing:.05em}
  .price{background:var(--paper2);border:1px solid var(--rule);padding:16px 22px;margin:18px auto;max-width:560px;text-align:center}
  .price b{font-weight:600}
  .chips{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:22px 0 4px}
  .chips a{border:1px solid var(--rule);padding:8px 20px;text-decoration:none;color:var(--ink);background:var(--paper2);font-size:18px}
  .chips a:hover{color:var(--red);border-color:var(--red)}
  .pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 8px}
  .pgrid.three{grid-template-columns:repeat(3,1fr)}
  .pgrid a{display:block;border:1px solid var(--rule);padding:5px;background:#fff}
  .pgrid img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}
  .sect{padding:36px 0 8px;scroll-margin-top:10px}
  .sect+.sect{border-top:3px double var(--rule);margin-top:30px}
  .cta{text-align:center;margin:30px 0 0}
  .cta a.btn{display:inline-block;background:var(--green);color:#F6F1E7;padding:12px 28px;text-decoration:none;letter-spacing:.08em;font-size:18px}
  .cta a.btn:hover{background:#2f3c27}
  .lb{position:fixed;inset:0;background:rgba(30,26,20,.92);display:none;align-items:center;justify-content:center;z-index:50;padding:16px}
  .lb.on{display:flex}
  .lb img{max-width:100%;max-height:100%;object-fit:contain;background:#fff;padding:6px}
  .lb button{position:absolute;top:10px;right:14px;font-size:34px;line-height:1;background:none;border:0;color:#F6F1E7;cursor:pointer}
  @media (max-width:760px){
    .pgrid,.pgrid.three{grid-template-columns:repeat(2,1fr);gap:10px}
    nav.main ul{justify-content:center}
  }
