/* Design style: heritage craft (serif headings, warm cream, ruled lines: joiners, cabinet makers, bakers). */

body.style-heritage {
    --cv-ground: #F6F1E7; --cv-panel: #FBF8F2; --cv-rule: #CBBFA8;
    --color-primary: var(--cv-user-primary, #7C2D12); --color-primary-hover: #5F220E; --color-primary-dark: #5F220E;
    --color-primary-light: #ECE3D2; --color-primary-rgb: 124, 45, 18;
    --color-text: #2A2118; --color-text-muted: #5A4D3E; --color-background: #F6F1E7; --color-background-alt: #ECE3D2;
    --color-surface: #FBF8F2; --color-border: #CBBFA8;
    --color-secondary: #3F2A1D; --color-secondary-hover: #2E1E14; --color-secondary-light: var(--color-primary-light); /* the shared CTA banner fades into this */
    --font-heading: 'Fraunces', Georgia, serif; --font-body: 'Source Sans 3', system-ui, sans-serif;
    --radius-md: 2px; --radius-lg: 3px; --radius-xl: 4px; --radius-full: 2px;
    font-family: var(--font-body); background: var(--cv-ground);
}
[data-theme="dark"] body.style-heritage { --cv-ground: #1E1812; --cv-panel: #2A221A; --cv-rule: #4B3E30; --color-text: #F6F1E7; --color-text-muted: #D6CAB5; --color-background: #1E1812; --color-background-alt: #2A221A; --color-surface: #2A221A; --color-border: #4B3E30; --color-primary: var(--cv-user-primary, #E7A07A); --color-primary-hover: #F0B996; --color-primary-light: #33291F; --color-on-primary: var(--cv-user-on-primary, #1E1812); }

.style-heritage h1, .style-heritage h2, .style-heritage h3, .style-heritage .site-logo-text { font-family: var(--font-heading); font-weight: 600; letter-spacing: -.01em; }
.style-heritage .site-logo-text { color: var(--color-text); -webkit-text-fill-color: currentColor; background: none; }
.style-heritage .site-header { background: var(--cv-ground); border-bottom: 3px double var(--cv-rule); }
.style-heritage .btn { border-radius: 2px; font-weight: 600; min-height: 48px; letter-spacing: .06em; text-transform: uppercase; font-size: .9rem; }
.style-heritage .btn-primary { background: var(--color-primary); border-color: var(--color-primary); color: var(--color-on-primary, #fff); }
.style-heritage .btn-secondary { background: transparent; color: var(--color-text); border: 1px solid var(--color-text); }
.style-heritage .btn-secondary:hover { background: var(--color-text); color: var(--color-background); }

/* Hero: serif headline over a rule, photo in a thin offset frame */
.cv-hero--heritage { padding: calc(var(--header-height) + var(--space-12)) 0 var(--space-16); }
.cv-hero--heritage .cv-hero__title { font-size: clamp(2.4rem, 5.8vw, 4.2rem); line-height: 1.04; padding-bottom: var(--space-4); border-bottom: 1px solid var(--cv-rule); }
.cv-hero--heritage .cv-hero__accent { display: block; font-style: italic; font-weight: 400; color: var(--color-primary); }
.cv-hero--heritage .cv-hero__media { aspect-ratio: 4 / 5; max-height: 600px; width: min(100%, 480px); margin-inline: auto; padding: 10px; border: 1px solid var(--cv-rule); background: var(--cv-panel); }
.cv-hero--heritage .cv-hero__media .cv-photo { height: 100%; }

.style-heritage .section { padding-block: var(--space-16); }
.cv-services .section-title { font-size: clamp(1.9rem, 4vw, 2.7rem); }
.cv-services .section-title::after { content: ""; display: block; width: 64px; margin-top: var(--space-3); border-top: 3px double var(--color-primary); }
.cv-services__media { padding: 8px; border: 1px solid var(--cv-rule); background: var(--cv-panel); }
.cv-list__row { padding: var(--space-5) 0; border-top-style: dashed; }
.cv-list li:last-child .cv-list__row { border-bottom-style: dashed; }
.cv-list__name { font-family: var(--font-heading); font-weight: 600; font-size: 1.35rem; }
.cv-list__price { font-weight: 600; }
.cv-review { background: var(--color-background-alt); border-block: 3px double var(--cv-rule); }
.cv-review__stars { color: var(--color-primary); }
.cv-review__quote { font-family: var(--font-heading); font-style: italic; font-weight: 400; }
