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

* { box-sizing: border-box; }
body { margin:0; font-family:'Work Sans',Arial,sans-serif; color:#4a3f38; background:#faf5ee; }
a { color:#b34d1f; text-decoration:none; }
a:hover { color:#8a3a15; }

h1,h2,h3 { font-family:'Playfair Display',Georgia,serif !important; color:#2b2320 !important; font-weight:700 !important; margin:0 0 20px !important; }
h1 { font-size:44px !important; line-height:1.2 !important; }
h2 { font-size:32px !important; line-height:1.25 !important; }
h3 { font-size:22px !important; line-height:1.3 !important; }
p { font-size:16px; line-height:1.7; margin:0 0 16px; }

#container { max-width:100%; margin:0 auto; }

#header { background:#faf5ee; border-bottom:1px solid rgba(43,35,32,0.08); }
#header-inner { max-width:1200px; margin:0 auto; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; flex-wrap:nowrap; gap:16px 32px; }
#logo-link { font-family:'Playfair Display',Georgia,serif; font-weight:700; font-size:22px; color:#2b2320; letter-spacing:0.3px; display:inline-flex; align-items:center; }
#logo-img { height:56px; width:auto; display:block; }

#navigation { flex:1; min-width:0; display:flex; justify-content:flex-end; }
#navigation ul { margin:0; padding:0; list-style:none; display:flex; gap:24px; flex-wrap:wrap; }
#navigation li { padding:0; }
#navigation a { font:500 14px/1 'Work Sans',Arial,sans-serif; letter-spacing:0.3px; color:#4a3f38; text-transform:uppercase; }
#navigation a:hover, #navigation a.active { color:#b34d1f; }
#nav-toggle { display:none; }
#nav-toggle-label { display:none; }

#content { max-width:1200px; margin:0 auto; padding:0 24px 56px; min-height:50vh; background:#faf5ee; }
#content > h1, #content > h2, #content > h3 { background:#faf5ee !important; max-width:1100px !important; margin-left:auto !important; margin-right:auto !important; padding:0 24px !important; box-sizing:border-box !important; }

#footer { background:#2b2320; color:#e7ddd2; margin-top:64px; }
#footer .gutter { max-width:1200px; margin:0 auto; padding:40px 24px; }
#footer a { color:#e7ddd2; }
#footer a:hover { color:#fff; }
#footer-note { font-size:13px; color:#a8998a; margin-top:16px; }

@media (max-width:768px) {
  body { font-size:18px; }
  h1 { font-size:34px; }
  h2 { font-size:28px; }
  h3 { font-size:22px; }
  p { font-size:18px; line-height:1.7; }
  #header-inner { flex-wrap:wrap; }
  #logo-img { height:52px; }
  #nav-toggle-label {
    display:inline-flex; align-items:center; gap:8px; cursor:pointer;
    padding:12px 18px; border:1px solid rgba(43,35,32,0.2);
    font:600 14px 'Work Sans',Arial,sans-serif; letter-spacing:0.5px; text-transform:uppercase; color:#2b2320;
  }
  #navigation { flex:1 1 100%; display:none; justify-content:flex-start; order:3; }
  #nav-toggle:checked ~ #navigation { display:block; }
  #navigation ul { flex-direction:column; align-items:stretch; gap:0; width:100%; padding-top:12px; }
  #navigation li { width:100%; border-top:1px solid rgba(43,35,32,0.08); }
  #navigation a { display:block; padding:16px 4px; font-size:16px; }
  #navigation ul ul {
    position:static; display:block !important; box-shadow:none; border:none;
    padding:0 0 8px 16px; min-width:0; background:transparent;
  }
  #navigation ul ul a { font-size:15px; padding:10px 4px; }
}
#sidebar { display:none; }

#logo-link, #navigation a { text-decoration:none !important; }
#navigation ul li { position:relative; }
#navigation ul ul {
  list-style:none; margin:0; padding:10px 0; display:none; flex-direction:column; gap:0;
  position:absolute; top:100%; left:0; min-width:200px; background:#faf5ee;
  border:1px solid rgba(43,35,32,0.08); box-shadow:0 8px 20px rgba(43,35,32,0.08); z-index:20;
}
#navigation ul li:hover > ul { display:flex; }
#navigation ul ul li { padding:0; }
#navigation ul ul a { display:block; padding:8px 16px; font-size:13px; color:#8a7a6c; text-transform:none; white-space:nowrap; }
#navigation ul ul a:hover { color:#b34d1f; background:rgba(179,77,31,0.06); }

#content form label, #content .j-form label, #content label {
  font:600 16px/1.4 'Work Sans',Arial,sans-serif !important; color:#2b2320 !important;
}
#content form input[type="text"], #content form input[type="email"], #content form input[type="tel"],
#content form input[type="date"], #content form select, #content form textarea,
#content input[type="text"], #content input[type="email"], #content input[type="tel"],
#content input[type="date"], #content select, #content textarea {
  font-size:17px !important; line-height:1.5 !important; font-family:'Work Sans',Arial,sans-serif !important; color:#2b2320 !important;
  border:1px solid rgba(43,35,32,0.2) !important; border-radius:8px !important;
  padding:14px 16px !important; min-height:52px !important; background:#fff !important;
}
#content form textarea, #content textarea { min-height:110px !important; }
#content form input[type="checkbox"], #content input[type="checkbox"] {
  width:22px !important; height:22px !important; min-height:0 !important; padding:0 !important;
  margin-right:10px !important; accent-color:#b34d1f !important; cursor:pointer !important; flex:none !important;
}
#content form input:focus, #content form select:focus, #content form textarea:focus,
#content input:focus, #content select:focus, #content textarea:focus {
  outline:none !important; border-color:#b34d1f !important; box-shadow:0 0 0 3px rgba(179,77,31,0.14) !important;
}
#content form button[type="submit"], #content form input[type="submit"], #content .j-form-submit button,
#content button[type="submit"], #content input[type="submit"] {
  font:700 18px/1 'Work Sans',Arial,sans-serif !important; background:#b34d1f !important; color:#fff !important;
  border:none !important; border-radius:10px !important; padding:18px 48px !important; cursor:pointer !important;
  min-width:220px !important; box-shadow:0 4px 14px rgba(179,77,31,0.3) !important;
}
#content form button[type="submit"]:hover, #content form input[type="submit"]:hover, #content button[type="submit"]:hover { background:#8a3a15 !important; }
#content form fieldset { border:none !important; padding:0 !important; margin:0 0 20px !important; }