
:root{--display:"Staatliches",Impact,sans-serif;--body:"Public Sans",system-ui,sans-serif;--display-weight:400;--display-track:.02em;--radius:4px;
--paper:#F3EBDD;--ink:#1C1714;--brand:#5E1A1E;--brand-ink:#fff;--accent:#C08A4B;--accent-ink:#1C1714;--accent-text:#7E5524;--stone:#EADFCB;--line:#D7C7AA;
--head-bg:#1C1714;--head-ink:#F3EBDD}
html[data-theme="black"]{--brand:#1C1714;--accent:#D23C2F;--accent-ink:#fff;--accent-text:#A72A20}
html[data-theme="teal"]{--brand:#0E4F55;--accent:#E3B04B;--accent-text:#8A6414}
html[data-theme="olive"]{--brand:#3E4A22;--accent:#D98E3F;--accent-text:#8A5216}
.btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.site-header .logo .mark{background:var(--brand);border-radius:4px;outline:1.5px dashed rgba(255,255,255,.6);outline-offset:-5px}
.hero-vu{padding:2.5rem 0 3.5rem;background:var(--paper)}
.vu-grid{display:grid;gap:2.5rem;align-items:center}
.vu-kicker{font-weight:600;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);margin-bottom:.8rem}
.hero-vu h1{font-size:clamp(2.8rem,12vw,4.8rem);line-height:.92;max-width:11ch;color:var(--brand)}
.vu-frame{position:relative;padding:14px;background:var(--brand);border-radius:10px}
.vu-frame::before{content:"";position:absolute;inset:6px;border:2px dashed rgba(243,235,221,.7);border-radius:6px;pointer-events:none;z-index:1}
.vu-frame .photo{aspect-ratio:4/3;border-radius:4px}
.vu-frame .tag{z-index:2}
.sec-services .svc-grid{gap:1.25rem}
.svc{background:#fff;border-radius:6px;padding:.6rem .6rem 1.2rem;position:relative;outline:2px dashed var(--line);outline-offset:-8px}
.svc .photo{aspect-ratio:4/3;border-radius:3px}
.svc-body{padding:0 .5rem}
.svc h3{font-size:1.8rem;color:var(--brand)}
.sec-leather{background:var(--brand);color:#F3EBDD;background-image:radial-gradient(rgba(0,0,0,.12) 1px,transparent 1px);background-size:5px 5px}
.sec-leather h2{color:#fff}
.sec-leather .quotes li{border:2px dashed rgba(243,235,221,.45);border-radius:8px;padding:1.2rem 1.3rem}
.sec-leather .quotes blockquote{font-size:1.15rem;font-weight:600}
.sec-leather .quotes cite{color:#E2C08F}
.sec-steps .steps li{border-top:0;background:#fff;padding:1.3rem;border-left:5px solid var(--accent)}
.sec-steps .steps li::before{font-family:var(--display);color:var(--brand)}
.cta-band{background:var(--ink)}
@media (min-width:800px){.hero-vu{padding:4.5rem 0}.vu-grid{grid-template-columns:1fr 1.1fr;gap:4rem}.sec-services .svc-grid{grid-template-columns:repeat(3,1fr)}}
