:root{--bg: #f3f6eb;--ink: #24301f;--muted: #5d6b53;--accent: #6f8f3f;--accent-dark: #587432;--card: #fffef7;--line: #dce5cc;--display: "Fraunces", Georgia, serif;--sans: "Outfit", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:var(--sans);color:var(--ink);background:radial-gradient(1100px 520px at 85% -10%,rgba(111,143,63,.14),transparent 60%),radial-gradient(800px 420px at -10% 0%,rgba(111,143,63,.08),transparent 55%),var(--bg)}.shell{max-width:960px;margin:0 auto;padding:24px 20px 64px}.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:28px;border-bottom:1px solid var(--line)}.mark{font-family:var(--display);font-weight:700;font-size:22px;color:var(--ink);text-decoration:none}.mark:before{content:"🥝 ";font-family:var(--sans);font-size:20px}nav{display:flex;gap:16px;flex-wrap:wrap}nav a{color:var(--muted);text-decoration:none;font-size:14px;padding:6px 0}nav a.active{color:var(--accent-dark);font-weight:600}.hero{padding:64px 0 32px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;color:var(--accent-dark)}h1{font-family:var(--display);font-size:clamp(36px,6vw,56px);line-height:1.1;margin:8px 0 16px}.lede{font-size:18px;color:var(--muted);max-width:38em;margin:0}.btn{display:inline-block;margin-top:24px;background:var(--accent);color:#fff;text-decoration:none;border:0;border-radius:999px;padding:12px 22px;font:inherit;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease}.btn:hover{background:var(--accent-dark);transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.about{display:flex;gap:18px;align-items:flex-start;margin:0 0 32px;padding:22px;background:var(--card);border:1px solid var(--line);border-radius:18px}.about-badge{font-size:42px;line-height:1}.about h2{font-family:var(--display);font-size:24px;margin:0 0 8px}.about p{margin:0;color:var(--muted);line-height:1.6}.grid-section{margin-top:8px}.section-title{font-family:var(--display);font-size:26px;margin:0 0 16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.grid article,.page{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px}.grid article{transition:transform .15s ease,box-shadow .15s ease}.grid article:hover{transform:translateY(-3px);box-shadow:0 12px 28px #24301f17}.grid article h2{font-family:var(--display);margin:0 0 8px;font-size:20px}.grid article p{margin:0;color:var(--muted);line-height:1.55}.grid article img,.list img{display:block;width:100%;height:auto;border-radius:10px;margin-bottom:8px}.page{margin-top:32px}.page h1{margin-top:4px}.page .lede{margin-bottom:16px}.service-grid{margin-top:4px}.list{list-style:none;padding:0;margin:0}.list li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);line-height:1.5}.list li:last-child{border-bottom:0}.list li span{flex:1;text-align:right}.contact-line a{color:var(--accent-dark);font-weight:600;text-decoration:none}.contact-line a:hover{text-decoration:underline}.hero-note{margin:0;color:var(--muted);font-size:15px}.form{display:grid;gap:12px;max-width:420px;margin-top:8px}.form label{font-weight:500}.form input,.form textarea{width:100%;margin-top:4px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}.form input:focus,.form textarea:focus{outline:2px solid rgba(111,143,63,.35);border-color:var(--accent)}footer{margin-top:48px;color:var(--muted);font-size:14px}.admin-page .admin-callout{margin:0 0 24px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--card));color:var(--ink)}.admin-page .admin-callout p{margin:0 0 10px}.admin-page .admin-callout p:last-child{margin-bottom:0}.admin-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.admin-toolbar h1{margin:0}.admin-actions{display:flex;flex-wrap:wrap;gap:8px}.btn-quiet{background:transparent;color:var(--ink);border:1px solid var(--line);margin-top:0}.btn-quiet:hover{background:color-mix(in srgb,var(--accent) 10%,var(--card));transform:none}.admin-list li{align-items:flex-start}.admin-meta{display:block;margin-top:4px;color:var(--muted);font-size:13px}.admin-kind{flex-shrink:0;color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.06em}.mark{display:inline-flex;align-items:center;gap:8px}.mark-logo{height:28px;width:28px;flex:none}
