:root{--color-primary: #7b1e2b;--color-primary-dark: #5e1620;--color-primary-tint-10: #8f3441;--color-secondary: #c89b3c;--color-secondary-dark: #a87f2c;--color-secondary-tint: #e4c77a;--color-bg: #fff8ee;--color-surface: #fcfaf7;--color-surface-alt: #f5eee1;--color-text: #4b352a;--color-text-muted: #7a6555;--color-accent: #355e3b;--color-danger: #8c1c1c;--color-success: #2e6b3e;--color-warning: #b8791a;--color-info: #3b6e8f;--color-border: #d9c79a;--color-border-strong: #c89b3c;--color-overlay: rgb(75 53 42 / 55%);--color-on-primary: #fff8ee;--color-on-secondary: #4b352a}:root[data-theme=dark]{--color-bg: #1e1512;--color-surface: #2a1e19;--color-surface-alt: #33241d;--color-text: #f1e6d8;--color-text-muted: #c7b6a3;--color-primary: #d9899a;--color-primary-dark: #c46e82;--color-primary-tint-10: #e2a3b1;--color-secondary: #e4c77a;--color-secondary-dark: #cdae5c;--color-secondary-tint: #f0dca0;--color-border: #4a392e;--color-border-strong: #e4c77a;--color-overlay: rgb(10 6 4 / 65%);--color-on-primary: #1e1512;--color-on-secondary: #1e1512}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg: #1e1512;--color-surface: #2a1e19;--color-surface-alt: #33241d;--color-text: #f1e6d8;--color-text-muted: #c7b6a3;--color-primary: #d9899a;--color-primary-dark: #c46e82;--color-primary-tint-10: #e2a3b1;--color-secondary: #e4c77a;--color-secondary-dark: #cdae5c;--color-secondary-tint: #f0dca0;--color-border: #4a392e;--color-border-strong: #e4c77a;--color-overlay: rgb(10 6 4 / 65%);--color-on-primary: #1e1512;--color-on-secondary: #1e1512}}:root{--font-heading: "Cinzel", Georgia, serif;--font-subheading: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", -apple-system, "Segoe UI", sans-serif;--text-h1: clamp(2rem, 5vw, 3.5rem);--text-h2: clamp(1.625rem, 3.5vw, 2.5rem);--text-h3: clamp(1.375rem, 2.5vw, 1.875rem);--text-h4: 1.375rem;--text-h5: 1.125rem;--text-body-lg: 1.125rem;--text-body: 1rem;--text-body-sm: .875rem;--text-caption: .75rem;--text-button: 1rem}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--space-10: 128px;--container-max: 1280px;--container-full: 1440px}:root{--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-pill: 0}:root{--shadow-xs: 0 1px 2px rgb(75 53 42 / 6%);--shadow-sm: 0 2px 6px rgb(75 53 42 / 8%);--shadow-md: 0 6px 16px rgb(75 53 42 / 10%);--shadow-lg: 0 12px 32px rgb(75 53 42 / 14%);--shadow-gold-glow: 0 0 0 3px rgb(200 155 60 / 25%);--transition-fast: .18s ease-out;--transition-base: .3s ease-out;--transition-slide: .35s cubic-bezier(.2, .8, .2, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}img,picture,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,h5,h6,p{margin:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);line-height:1.6;transition:background var(--transition-base),color var(--transition-base)}body.scroll-locked{overflow:hidden}h1,h2,h3{font-family:var(--font-heading);font-weight:600;color:var(--color-primary)}h1{font-size:var(--text-h1);line-height:1.15}h2{font-size:var(--text-h2);line-height:1.2}h3{font-size:var(--text-h3);line-height:1.25}h4,h5,h6{font-family:var(--font-subheading);font-weight:500;color:var(--color-text)}h4{font-size:var(--text-h4)}h5{font-size:var(--text-h5)}.visually-hidden,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;top:var(--space-2);left:var(--space-2);z-index:1000;width:auto;height:auto;padding:var(--space-2) var(--space-4);overflow:visible;clip:auto;color:var(--color-on-primary);background:var(--color-primary);border-radius:var(--radius-sm)}:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;box-shadow:var(--shadow-gold-glow)}.container{width:100%;max-width:var(--container-max);padding-inline:var(--space-4);margin-inline:auto}.section{padding-block:var(--space-7)}@media(min-width:1024px){.section{padding-block:var(--space-9)}}.calc-field-grid{display:grid;grid-template-columns:1fr;gap:var(--space-5);margin-bottom:var(--space-4)}@media(min-width:768px){.calc-field-grid--2{grid-template-columns:1fr 1fr}.calc-field-grid--3{grid-template-columns:repeat(3,1fr)}}.calc-field{display:flex;flex-direction:column;gap:var(--space-2)}.calc-field label{font-size:var(--text-body-sm);font-weight:600}.calc-field input,.calc-field select{height:44px;padding-inline:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.calc-field input:hover,.calc-field select:hover{border-color:var(--color-secondary)}.calc-field input:focus-visible,.calc-field select:focus-visible{border-color:var(--color-secondary);outline:none;box-shadow:var(--shadow-gold-glow)}.calc-field select{cursor:pointer}.calc-field select option{color:var(--color-text);background:var(--color-surface)}.calc-field select option:checked{color:var(--color-on-primary);background:var(--color-primary)}.calc-error{margin-bottom:var(--space-4);font-weight:600;color:var(--color-danger)}.calc-result{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-7)}.calc-result-banner{text-align:center}.calc-result-banner p:first-child{color:var(--color-text-muted)}.calc-result-banner h2{font-family:var(--font-subheading);font-size:clamp(1.5rem,4vw,2.25rem)}.calc-result-row{display:grid;grid-template-columns:1fr;gap:var(--space-5)}@media(min-width:768px){.calc-result-row--2{grid-template-columns:1fr 1fr}}.calc-result-row h3{margin-bottom:var(--space-2)}.calc-muted{color:var(--color-text-muted)}
