@import url(https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Instrument+Serif:ital@0;1&family=JetBrains+Mono:wght@400;500&display=swap);:root{--green-50:#eef3ef;--green-100:#dfe7e1;--green-200:#c1d0c3;--green-300:#a4b9a7;--green-400:#88a48a;--green-500:#6f9072;--green-600:#5b7e5e;--green-700:#45624a;--green-800:#324636;--green-900:#283a29;--green-950:#1d2b1e;--clay-50:#f8f1e9;--clay-100:#efe0cd;--clay-200:#e0c5a3;--clay-300:#cda576;--clay-400:#bd8d54;--clay-500:#a9743d;--clay-600:#8f5f31;--clay-700:#714b28;--stone-0:#fff;--stone-25:#faf9f6;--stone-50:#f4f2ed;--stone-100:#e9e6df;--stone-200:#d6d2c8;--stone-300:#b6b1a5;--stone-400:#8c887c;--stone-500:#6a665c;--stone-600:#4d4a42;--stone-700:#393730;--stone-800:#26241f;--stone-900:#181813;--ink-deep:#131a14;--success-50:#ecf6ee;--success-500:#2f9e54;--success-700:#1f6e3a;--warning-50:#fdf6e9;--warning-500:#d99a26;--warning-700:#9a6c14;--danger-50:#fbeeec;--danger-500:#cf4a32;--danger-700:#8f2e1c;--info-50:#ecf2f5;--info-500:#3a7d93;--info-700:#275663;--bg:var(--stone-0);--bg-muted:var(--stone-25);--bg-subtle:var(--stone-50);--bg-inset:var(--stone-100);--bg-green-soft:var(--green-50);--fg:var(--stone-900);--fg-1:var(--stone-700);--fg-2:var(--stone-500);--fg-3:var(--stone-400);--fg-4:var(--stone-300);--fg-inverse:var(--stone-0);--border:var(--stone-200);--border-muted:var(--stone-100);--border-strong:var(--stone-300);--border-focus:var(--green-600);--brand:var(--green-600);--brand-hover:var(--green-700);--brand-press:var(--green-800);--brand-soft:var(--green-50);--brand-fg:var(--stone-0);--accent:var(--clay-500);--accent-hover:var(--clay-600);--accent-soft:var(--clay-50);--font-sans:"Plus Jakarta Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-serif:"Instrument Serif","Iowan Old Style",Georgia,serif;--font-mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--text-5xl:3.75rem;--text-6xl:4.75rem;--leading-tight:1.1;--leading-snug:1.25;--leading-normal:1.45;--leading-relaxed:1.6;--tracking-tight:-0.025em;--tracking-snug:-0.01em;--tracking-normal:0;--tracking-wide:0.04em;--tracking-caps:0.1em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-2xl:28px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(24,24,19,.04);--shadow-sm:0 1px 2px rgba(24,24,19,.04),0 1px 3px rgba(24,24,19,.06);--shadow-md:0 4px 8px -2px rgba(24,24,19,.06),0 2px 4px -1px rgba(24,24,19,.05);--shadow-lg:0 12px 24px -6px rgba(24,24,19,.1),0 4px 8px -3px rgba(24,24,19,.05);--shadow-xl:0 24px 48px -12px rgba(29,43,30,.2);--shadow-brand:0 12px 30px -10px rgba(91,126,94,.4);--ring-focus:0 0 0 4px rgba(91,126,94,.18);--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--duration-fast:120ms;--duration-base:180ms;--duration-slow:280ms;--maxw:1200px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none}a,button{color:inherit}button{background:none;border:none;cursor:pointer;font:inherit}img,svg{display:block;max-width:100%}ul{list-style:none}:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--ring-focus);outline:none}.eyebrow{align-items:center;color:var(--brand);display:inline-flex;font-size:var(--text-xs);font-weight:700;gap:8px;letter-spacing:var(--tracking-caps);text-transform:uppercase}.eyebrow.on-dark{color:var(--clay-300)}.display{color:var(--fg);font-family:var(--font-serif);font-weight:400;letter-spacing:-.02em;line-height:1.02}.display em{color:var(--brand);font-style:italic}.lead{color:var(--fg-1);font-size:var(--text-lg);line-height:var(--leading-relaxed)}.serif-em{color:var(--brand);font-family:var(--font-serif);font-style:italic;font-weight:400}.btn{align-items:center;border-radius:var(--radius-pill);display:inline-flex;font-size:var(--text-md);font-weight:700;gap:8px;justify-content:center;letter-spacing:-.01em;padding:14px 24px;transition:all var(--duration-base) var(--ease-out);white-space:nowrap}.btn svg{height:18px;width:18px}.btn-primary{background:var(--brand);box-shadow:var(--shadow-brand);color:var(--brand-fg)}.btn-primary:hover{background:var(--brand-hover);transform:translateY(-2px)}.btn-primary:active{background:var(--brand-press);transform:translateY(0)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:var(--accent-hover);transform:translateY(-2px)}.btn-outline{background:transparent;border:1.5px solid var(--border-strong);color:var(--fg)}.btn-outline:hover{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.btn-ghost{color:var(--fg-1);padding:10px 16px}.btn-ghost:hover{background:var(--bg-subtle);color:var(--fg)}.btn-on-dark{background:#fff;color:var(--green-900)}.btn-on-dark:hover{background:var(--clay-100);transform:translateY(-2px)}.btn-outline-dark{border:1.5px solid hsla(0,0%,100%,.35);color:#fff}.btn-outline-dark:hover{background:hsla(0,0%,100%,.08);border-color:#fff}.btn-sm{font-size:var(--text-sm);padding:9px 16px}.btn-lg{font-size:var(--text-lg);padding:17px 30px}.wrap{margin:0 auto;max-width:var(--maxw);padding-left:var(--space-8);padding-right:var(--space-8)}.section{padding-bottom:var(--space-24);padding-top:var(--space-24)}.section-sm{padding-bottom:var(--space-16);padding-top:var(--space-16)}.section-head{margin:0 auto var(--space-12);max-width:720px;text-align:center}.section-head .eyebrow,.section-head h2{margin-bottom:var(--space-4)}.section-head h2{color:var(--fg);font-size:var(--text-4xl);font-weight:700;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.section-head p{color:var(--fg-1);font-size:var(--text-lg);line-height:var(--leading-relaxed)}.pill{align-items:center;background:var(--bg-subtle);border:1px solid var(--border-muted);border-radius:var(--radius-pill);color:var(--fg-1);display:inline-flex;font-size:var(--text-sm);font-weight:600;gap:7px;padding:6px 13px}.pill svg{height:15px;width:15px}.pill-brand{background:var(--brand-soft);border-color:transparent;color:var(--brand-hover)}.pill-accent{background:var(--accent-soft);border-color:transparent;color:var(--clay-700)}.pill-live{background:#fff;border:1px solid var(--border);color:var(--fg-1)}.pill-live .dot{animation:pulse 1.8s infinite;background:var(--success-500);border-radius:999px;box-shadow:0 0 0 3px rgba(47,158,84,.18);height:7px;width:7px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.card{background:#fff;border:1px solid var(--border-muted);border-radius:var(--radius-xl);transition:all var(--duration-slow) var(--ease-out)}.card-hover:hover{border-color:var(--green-200);box-shadow:var(--shadow-md);transform:translateY(-3px)}.nav{backdrop-filter:blur(12px);background:hsla(0,0%,100%,.85);border-bottom:1px solid var(--border-muted);position:sticky;top:0;z-index:50}.nav-inner{gap:var(--space-8);margin:0 auto;max-width:var(--maxw);padding:14px var(--space-8)}.nav-inner,.nav-logo{align-items:center;display:flex}.nav-logo{gap:11px}.nav-logo .mark{flex-shrink:0;height:38px;width:38px}.nav-logo .wm{display:flex;flex-direction:column;line-height:1}.nav-logo .wm .nm{color:var(--green-800);font-size:19px;font-weight:800;letter-spacing:-.03em}.nav-logo .wm .tg{color:var(--clay-600);font-family:var(--font-serif);font-size:12px;font-style:italic;margin-top:2px}.nav-links{display:flex;gap:var(--space-6);margin-left:var(--space-4)}.nav-links a{color:var(--fg-1);font-size:var(--text-base);font-weight:600;padding:6px 0;position:relative;transition:color var(--duration-fast)}.nav-links a.active,.nav-links a:hover{color:var(--brand)}.nav-links a.active:after{background:var(--brand);border-radius:2px;bottom:-16px;content:"";height:2px;left:0;position:absolute;right:0}.nav-cta{align-items:center;display:flex;gap:10px;margin-left:auto}.nav-phone{align-items:center;color:var(--green-800);display:inline-flex;flex-shrink:0;font-size:var(--text-base);font-weight:700;gap:7px;white-space:nowrap}.nav-phone svg{color:var(--brand);height:17px;width:17px}.nav-burger{border-radius:var(--radius-md);display:none;padding:8px}.nav-burger svg{color:var(--fg);height:22px;width:22px}.nav-drawer{background:#fff;border-top:1px solid var(--border-muted);flex-direction:column;gap:4px;padding:8px var(--space-5) 20px}.nav-drawer,.nav-drawer[hidden]{display:none}.nav-drawer a{border-bottom:1px solid var(--border-muted);color:var(--fg-1);font-size:var(--text-lg);font-weight:600;padding:12px 4px}.nav-drawer a.active{color:var(--brand)}.nav-drawer a.btn{border-bottom:none;color:#fff}.crumb{align-items:center;color:var(--fg-2);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:8px;padding:18px 0}.crumb a:hover{color:var(--brand)}.crumb .sep{color:var(--fg-4)}.crumb [aria-current]{color:var(--fg);font-weight:600}.field{display:flex;flex-direction:column;gap:7px}.field label{color:var(--fg-1);font-size:var(--text-sm);font-weight:600}.field label .req{color:var(--danger-500)}.input,.select,.textarea{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--fg);font:inherit;font-size:var(--text-base);padding:12px 14px;transition:border-color var(--duration-fast),box-shadow var(--duration-fast);width:100%}.input::placeholder,.textarea::placeholder{color:var(--fg-4)}.input:focus,.select:focus,.textarea:focus{border-color:var(--border-focus);box-shadow:var(--ring-focus);outline:none}.textarea{line-height:1.5;min-height:120px;resize:vertical}.field-error .input,.field-error .select,.field-error .textarea{border-color:var(--danger-500)}.err-msg{color:var(--danger-700);display:none;font-size:var(--text-xs)}.field-error .err-msg{display:block}.hp{left:-9999px;position:absolute;top:-9999px}.flashes{display:flex;flex-direction:column;gap:8px;max-width:360px;position:fixed;right:16px;top:16px;z-index:90}.flash{border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-sm);padding:12px 16px}.flash-success{background:var(--success-50);border:1px solid var(--success-500);color:var(--success-700)}.flash-error{background:var(--danger-50);border:1px solid var(--danger-500);color:var(--danger-700)}.flash-info{background:var(--info-50);border:1px solid var(--info-500);color:var(--info-700)}.footer{background:var(--ink-deep);color:hsla(0,0%,100%,.66)}.footer-inner{display:grid;gap:48px;grid-template-columns:2fr 1fr 1fr 1.2fr;margin:0 auto;max-width:var(--maxw);padding:72px var(--space-8) 40px}.footer-brand .logo{align-items:center;display:flex;gap:11px;margin-bottom:16px}.footer-brand .logo .mark{height:38px;width:38px}.footer-brand .logo .nm{color:#fff;font-size:19px;font-weight:800;letter-spacing:-.03em}.footer-brand p{color:hsla(0,0%,100%,.55);font-size:var(--text-base);line-height:1.6;max-width:290px}.footer-brand .socials{display:flex;gap:10px;margin-top:20px}.footer-brand .socials a{align-items:center;background:hsla(0,0%,100%,.07);border-radius:var(--radius-md);display:flex;height:38px;justify-content:center;transition:background var(--duration-fast);width:38px}.footer-brand .socials a:hover{background:var(--brand)}.footer-brand .socials svg{color:hsla(0,0%,100%,.8);height:18px;width:18px}.footer-col h4{color:#fff;font-size:var(--text-xs);font-weight:700;letter-spacing:var(--tracking-wide);margin-bottom:16px;text-transform:uppercase}.footer-col a,.footer-col span{color:hsla(0,0%,100%,.62);display:block;font-size:var(--text-base);margin-bottom:11px}.footer-col a:hover{color:var(--clay-300)}.footer-bot{align-items:center;border-top:1px solid hsla(0,0%,100%,.1);display:flex;flex-wrap:wrap;font-size:var(--text-sm);gap:16px;justify-content:space-between;margin:0 auto;max-width:var(--maxw);padding:22px var(--space-8)}.footer-bot a:hover{color:var(--clay-300)}.dark{background:var(--ink-deep);color:hsla(0,0%,100%,.82);overflow:hidden;position:relative}.dark h2,.dark h3{color:#fff}.ph{background:var(--green-100);border-radius:var(--radius-lg);overflow:hidden;position:relative}.ph canvas,.ph img,.ph svg.phsvg{height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.ph-label{align-items:center;backdrop-filter:blur(4px);background:rgba(13,28,18,.55);border-radius:var(--radius-pill);bottom:12px;color:#fff;display:inline-flex;font-size:var(--text-xs);font-weight:600;gap:6px;left:12px;padding:5px 10px;position:absolute;z-index:2}.ph-label svg{height:13px;width:13px}.tp-cookie{align-items:center;background:#fff;border:1px solid var(--border);border-radius:var(--radius-xl);bottom:16px;box-shadow:var(--shadow-xl);display:flex;flex-wrap:wrap;gap:16px;left:16px;margin:0 auto;max-width:720px;padding:18px 22px;position:fixed;right:16px;z-index:95}.tp-cookie p{color:var(--fg-1);flex:1;font-size:var(--text-sm);min-width:220px}.tp-cookie p a{color:var(--brand);text-decoration:underline}.tp-cookie .actions{display:flex;gap:8px}.muted{color:var(--fg-2)}.center{text-align:center}.stars{color:var(--clay-400);display:inline-flex;gap:2px}.stars svg{fill:currentColor;height:16px;width:16px}.divider{background:var(--border-muted);border:0;height:1px}.skip-link{background:var(--brand);border-radius:0 0 8px 0;color:#fff;left:-999px;padding:10px 16px;position:absolute;top:0;z-index:100}.skip-link:focus{left:0}@media (max-width:1050px){.nav-phone{display:none}}@media (max-width:920px){.nav-links,.nav-phone{display:none}.nav-burger{display:inline-flex}.nav-drawer:not([hidden]){display:flex}.footer-inner{gap:32px;grid-template-columns:1fr 1fr}.wrap{padding-left:var(--space-5);padding-right:var(--space-5)}.section{padding-bottom:var(--space-16);padding-top:var(--space-16)}.section-head h2{font-size:var(--text-3xl)}}@media (max-width:560px){.footer-inner{grid-template-columns:1fr}}body.admin{background:var(--bg-muted)}.admin-layout{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.admin-sidebar{background:var(--ink-deep);color:hsla(0,0%,100%,.74);display:flex;flex-direction:column;padding:var(--space-6) 0}.admin-sidebar .brand{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.08);display:flex;gap:10px;padding:0 var(--space-5) var(--space-6)}.admin-sidebar .brand .nm{color:#fff;font-size:17px;font-weight:800;letter-spacing:-.02em}.admin-sidebar nav{display:flex;flex:1;flex-direction:column;gap:2px;padding:var(--space-4) var(--space-3)}.admin-sidebar nav a{align-items:center;border-radius:var(--radius-md);color:hsla(0,0%,100%,.66);display:flex;font-size:var(--text-sm);font-weight:600;gap:11px;padding:10px 14px;transition:all var(--duration-fast)}.admin-sidebar nav a svg{height:18px;width:18px}.admin-sidebar nav a:hover{background:hsla(0,0%,100%,.05);color:#fff}.admin-sidebar nav a.active{background:var(--brand);color:#fff}.admin-sidebar nav a .badge{background:var(--clay-500);border-radius:var(--radius-pill);color:#fff;font-size:var(--text-xs);font-weight:700;margin-left:auto;padding:2px 8px}.admin-sidebar .foot{border-top:1px solid hsla(0,0%,100%,.08);display:flex;flex-direction:column;gap:8px;padding:var(--space-4) var(--space-5)}.admin-sidebar .foot a{align-items:center;color:hsla(0,0%,100%,.6);display:inline-flex;font-size:var(--text-sm);gap:8px}.admin-sidebar .foot a:hover{color:#fff}.admin-main{max-width:100%;overflow-x:hidden;padding:var(--space-8)}.admin-header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between;margin-bottom:var(--space-8)}.admin-header h1{font-family:var(--font-serif);font-size:var(--text-3xl)}.admin-header .actions{display:flex;gap:10px}.kpis{display:grid;gap:var(--space-4);grid-template-columns:repeat(4,1fr);margin-bottom:var(--space-8)}.kpi{background:#fff;border:1px solid var(--border-muted);border-radius:var(--radius-xl);padding:var(--space-5)}.kpi .lbl{color:var(--fg-2);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase}.kpi .val{color:var(--brand);font-family:var(--font-serif);font-size:2.4rem;line-height:1}.kpi .sub{color:var(--fg-2);font-size:var(--text-xs);margin-top:8px}.admin-table{background:#fff;border:1px solid var(--border-muted);border-radius:var(--radius-xl);overflow:hidden;width:100%}.admin-table table{border-collapse:collapse;width:100%}.admin-table td,.admin-table th{font-size:var(--text-sm);padding:14px 18px;text-align:left}.admin-table thead{background:var(--bg-subtle)}.admin-table th{color:var(--fg-1);font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase}.admin-table tbody tr{border-top:1px solid var(--border-muted);transition:background var(--duration-fast)}.admin-table tbody tr:hover{background:var(--bg-muted)}.admin-table tbody tr.unread{background:var(--brand-soft)}.admin-table .row-actions{display:flex;gap:6px;justify-content:flex-end}.admin-table .row-actions a,.admin-table .row-actions button{border-radius:var(--radius-sm);color:var(--fg-2);padding:6px}.admin-table .row-actions a:hover,.admin-table .row-actions button:hover{background:var(--bg-subtle);color:var(--brand)}.admin-table .row-actions svg{height:16px;width:16px}.admin-table .thumb{background:var(--green-100);border-radius:var(--radius-md);height:48px;object-fit:cover;width:48px}.status-pill{border-radius:var(--radius-pill);display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:.05em;padding:3px 10px;text-transform:uppercase}.status-blue{background:#dbeafe;color:#1d4ed8}.status-amber{background:#fef3c7;color:#b45309}.status-violet{background:#ede9fe;color:#6d28d9}.status-green{background:#dcfce7;color:#166534}.status-red{background:#fee2e2;color:#b91c1c}.status-stone{background:var(--stone-100);color:var(--stone-700)}.admin-form{background:#fff;border:1px solid var(--border-muted);border-radius:var(--radius-xl);display:grid;gap:var(--space-5);grid-template-columns:1fr 1fr;padding:var(--space-8)}.admin-form .field{display:flex;flex-direction:column;gap:7px}.admin-form .field.full{grid-column:1/-1}.admin-form .actions{border-top:1px solid var(--border-muted);display:flex;gap:10px;grid-column:1/-1;justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-4)}.photo-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.photo-card{aspect-ratio:4/3;background:var(--green-100);border-radius:var(--radius-md);overflow:hidden;position:relative}.photo-card img{height:100%;object-fit:cover;width:100%}.photo-card .kind{background:rgba(0,0,0,.6);border-radius:var(--radius-pill);color:#fff;font-size:var(--text-xs);left:6px;padding:2px 8px;position:absolute;top:6px}.photo-card .del{background:hsla(0,0%,100%,.9);border-radius:50%;color:var(--danger-500);padding:5px;position:absolute;right:6px;top:6px}.visual-slots{display:grid;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.visual-slot{background:#fff;border:1px solid var(--border-muted);border-radius:var(--radius-xl);display:flex;flex-direction:column;overflow:hidden}.visual-slot__preview{aspect-ratio:4/3;background:var(--green-100);overflow:hidden;position:relative}.visual-slot__preview .ph,.visual-slot__preview img{border-radius:0;height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.visual-slot__badge{background:rgba(0,0,0,.6);border-radius:var(--radius-pill);color:#fff;font-size:var(--text-xs);left:8px;padding:2px 8px;position:absolute;top:8px}.visual-slot__body{display:flex;flex-direction:column;gap:6px;padding:var(--space-5)}.visual-slot__body h3{font-size:var(--text-md);font-weight:700}.visual-slot__where{color:var(--fg-2);font-size:var(--text-sm)}.visual-slot__ratio{align-items:center;color:var(--brand-hover);display:inline-flex;font-size:var(--text-xs);font-weight:600;gap:6px}.visual-slot__ratio svg{height:13px;width:13px}.visual-slot__form{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3)}.visual-slot__form .field{display:flex;flex-direction:column;gap:6px}.visual-slot__actions,.visual-slot__delete{display:flex;justify-content:flex-end}.visual-slot__delete{margin-top:var(--space-2)}.btn-danger{border-color:var(--danger-500);color:var(--danger-500)}@media (max-width:920px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{display:none}.kpis{grid-template-columns:1fr 1fr}.admin-form{grid-template-columns:1fr}}