:root{--cream:#fff7ea;--paper:#fbecd7;--paper-2:#f3ddbd;--ink:#263128;--muted:#765f47;--sage:#6f7d5d;--sage-deep:#263128;--copper:#c96b3d;--mustard:#d9a441;--line:rgba(38,49,40,.16);--shadow:0 24px 70px rgba(73,49,28,.16);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Source Sans 3",ui-sans-serif,system-ui,sans-serif;background:radial-gradient(circle at 8% 4%,rgba(201,107,61,.16),transparent 28rem),radial-gradient(circle at 92% 12%,rgba(111,125,93,.18),transparent 24rem),linear-gradient(180deg,var(--cream),#f8ead7 48%,#fff8ee);line-height:1.55}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.42;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)' opacity='.18'/%3E%3C/svg%3E");mix-blend-mode:multiply}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.shell{width:min(calc(100% - 36px),var(--max));margin:0 auto}.site-header{position:sticky;top:0;z-index:50;background:#fff7eaeb;backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.header-row{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:12px;min-width:max-content}.brand img{width:44px;height:44px;border-radius:14px;box-shadow:0 10px 28px #26312826}.brand strong{display:block;font-family:Fraunces,Georgia,serif;font-size:1.18rem;letter-spacing:-.03em}.brand span{display:block;margin-top:-3px;color:var(--muted);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.primary-nav{display:flex;align-items:center;gap:4px;justify-content:flex-end}.primary-nav a{padding:10px 12px;border-radius:999px;font-size:.95rem;font-weight:800;color:#3d4539;white-space:nowrap}.primary-nav a:hover{background:#6f7d5d21;color:var(--sage-deep)}.nav-contact{background:var(--sage-deep)!important;color:#fff8ea!important;margin-left:4px}.menu-toggle{display:none;align-items:center;justify-content:center;width:46px;height:46px;border-radius:999px;border:1px solid var(--line);background:#fff9ef;color:var(--ink);font-weight:900;font-size:1.2rem;cursor:pointer}.menu-toggle[aria-expanded=true]{background:var(--sage-deep);color:#fff8ea}.nav-panel{display:flex;align-items:center;gap:4px}main{padding:34px 0 70px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--copper);font-size:.78rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.eyebrow:before{content:"";width:24px;height:2px;background:currentColor;border-radius:99px}h1,h2,h3{font-family:Fraunces,Georgia,serif;letter-spacing:-.045em;line-height:.95}.site-footer{border-top:1px solid var(--line);background:#263128;color:#fff8ea;padding:42px 0}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:28px}.footer-grid h4{margin:0 0 12px;font-size:.8rem;letter-spacing:.13em;text-transform:uppercase;color:#dbc5a8}.footer-grid p{color:#dfd0bb;margin:0;max-width:30rem}.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer-grid a{color:#fff7ea;opacity:.9}.footer-grid a:hover{opacity:1;color:#f4c16d}@media(max-width:980px){.menu-toggle{display:inline-flex}.header-row{min-height:68px}.nav-panel{position:fixed;inset:69px 12px auto;display:grid;gap:8px;padding:14px;border-radius:24px;background:#fff9effa;border:1px solid var(--line);box-shadow:var(--shadow);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.18s ease}.nav-panel[data-open=true],.site-header:focus-within .nav-panel{transform:translateY(0);opacity:1;pointer-events:auto}.primary-nav{display:grid;grid-template-columns:1fr;align-items:stretch}.primary-nav a{padding:13px 16px;border-radius:16px}.nav-contact{margin-left:0;text-align:center}.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:640px){.shell{width:min(calc(100% - 24px),var(--max))}.brand strong{font-size:1.02rem}.brand span{font-size:.68rem}.footer-grid{grid-template-columns:1fr}main{padding-top:22px}}
