*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #c9a96e;--color-primary-deep: #a88a52;--color-primary-soft: #e8d9b6;--color-primary-hover: #b8954f;--color-terre: #1a1410;--color-terre-soft: #2a1f18;--color-terre-line: #3a2e24;--color-sable: #faf5ea;--color-sable-2: #f3ead8;--color-sable-3: #ece0c5;--color-accent-warm: #b8732d;--color-accent-warm-soft: #e9c5a0;--color-ink: #1f1a14;--color-ink-soft: #5a4e42;--color-ink-muted: #8a7d70;--color-line: #e8dfc9;--color-line-soft: #f0e7d3;--color-success: #4e7a5b;--color-success-bg: #e3efe6;--color-danger: #b23a3a;--color-error: #b23a3a;--color-error-bg: #fbebe9;--color-info: #4a6a8f;--color-info-bg: #e8eff6;--color-warning: #c88a2e;--color-warning-bg: #fbf1df;--color-sidebar: var(--color-terre);--color-sidebar-hover: var(--color-terre-soft);--color-text: var(--color-ink);--color-text-light: var(--color-ink-soft);--color-text-muted: var(--color-ink-muted);--color-bg: var(--color-sable);--color-border: var(--color-line);--color-white: #ffffff;--radius-sm: 6px;--radius: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-xs: 0 1px 2px rgba(26, 20, 16, .05);--shadow-sm: 0 2px 6px rgba(26, 20, 16, .06);--shadow: 0 4px 16px rgba(26, 20, 16, .08);--shadow-lg: 0 12px 40px rgba(26, 20, 16, .12);--shadow-xl: 0 24px 64px rgba(26, 20, 16, .16);--font-display: "Instrument Serif", "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-hero: clamp(2.5rem, 6vw, 4.5rem);--fs-display: clamp(2rem, 4vw, 3rem);--fs-title: clamp(1.5rem, 2.5vw, 2rem);--fs-subtitle: clamp(1.125rem, 1.5vw, 1.25rem);--fs-body: 1rem;--fs-small: .875rem;--fs-xs: .75rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--container-narrow: 780px;--container: 1080px;--container-wide: 1280px;--ease: cubic-bezier(.16, 1, .3, 1);--duration-fast: .18s;--duration: .3s;--duration-slow: .6s}html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);background-color:var(--color-sable);color:var(--color-ink);line-height:1.55;overflow-x:hidden;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{color:var(--color-ink);line-height:1.1;letter-spacing:-.01em;text-wrap:balance}h1,h2{font-family:var(--font-display);font-weight:400}h1{font-size:var(--fs-hero)}h2{font-size:var(--fs-display)}h3{font-size:var(--fs-title);font-family:var(--font-body);font-weight:700}h4{font-size:var(--fs-subtitle);font-family:var(--font-body);font-weight:700;letter-spacing:-.005em}h5,h6{font-family:var(--font-body);font-weight:600}p{text-wrap:pretty}a{color:var(--color-primary-deep);text-decoration:none;transition:color var(--duration-fast) var(--ease)}a:hover{color:var(--color-accent-warm)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:3px}.btn,button.btn-primary,a.btn-primary,button.btn-gold,a.btn-gold{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.6rem;border-radius:var(--radius);font-family:var(--font-body);font-size:var(--fs-body);font-weight:600;letter-spacing:.01em;cursor:pointer;border:1px solid transparent;transition:all var(--duration-fast) var(--ease);min-height:44px;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--color-ink);color:var(--color-sable)}.btn-primary:hover{background:var(--color-terre-soft);transform:translateY(-1px);box-shadow:var(--shadow);color:var(--color-sable)}.btn-gold{background:var(--color-primary);color:#fff}.btn-gold:hover{background:var(--color-primary-deep);transform:translateY(-1px);box-shadow:var(--shadow);color:#fff}.btn-outline{background:transparent;color:var(--color-ink);border-color:var(--color-ink)}.btn-outline:hover{background:var(--color-ink);color:var(--color-sable)}.btn-ghost{background:transparent;color:var(--color-ink);border-color:var(--color-line)}.btn-ghost:hover{background:var(--color-sable-2);border-color:var(--color-ink-soft)}input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=date],input[type=search],input[type=url],textarea,select{font-family:var(--font-body);font-size:var(--fs-body);color:var(--color-ink);background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:.7rem .9rem;min-height:44px;width:100%;transition:border-color var(--duration-fast) var(--ease),box-shadow var(--duration-fast) var(--ease)}textarea{min-height:120px;resize:vertical;line-height:1.5}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #c9a96e2e;outline:none}input::placeholder,textarea::placeholder{color:var(--color-ink-muted)}label{font-family:var(--font-body);font-size:var(--fs-small);font-weight:600;color:var(--color-ink);display:inline-block;margin-bottom:.35rem}.card{background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform var(--duration) var(--ease),box-shadow var(--duration) var(--ease),border-color var(--duration) var(--ease)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--color-primary-soft)}.badge-soft{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:999px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.03em;text-transform:uppercase;background:var(--color-sable-2);color:var(--color-ink-soft)}.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius);font-size:var(--fs-small);line-height:1.5;border:1px solid transparent}.alert--success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success)}.alert--danger{background:var(--color-error-bg);color:var(--color-danger);border-color:var(--color-danger)}.alert--info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info)}.alert--warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning)}.serif-display{font-family:var(--font-display)}.serif-italic{font-family:var(--font-display);font-style:italic}.u-container{max-width:var(--container);margin-inline:auto;padding-inline:1.5rem}.u-container-narrow{max-width:var(--container-narrow);margin-inline:auto;padding-inline:1.5rem}.u-container-wide{max-width:var(--container-wide);margin-inline:auto;padding-inline:1.5rem}.u-text-muted{color:var(--color-ink-muted)}.u-text-soft{color:var(--color-ink-soft)}.u-text-gold{color:var(--color-primary-deep)}.u-text-warm{color:var(--color-accent-warm)}.u-text-balance{text-wrap:balance}.u-text-pretty{text-wrap:pretty}.form-error{color:var(--color-danger);font-size:var(--fs-xs);margin-top:var(--space-2xs)}.form-field--invalid input,.form-field--invalid textarea,.form-field--invalid select{border-color:var(--color-danger)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.form-field--invalid-submit{animation:shake .4s var(--ease)}@media(min-width:769px){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-sable-3);border-radius:999px;border:2px solid var(--color-sable)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-soft)}}::selection{background:var(--color-primary-soft);color:var(--color-ink)}.animate-on-scroll{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--delay, 0s);will-change:opacity,transform}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.fade-in-up{animation:fade-in-up .7s var(--ease) both}.fade-in{animation:fade-in .5s var(--ease) both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.animate-on-scroll{opacity:1;transform:none}}@media(max-width:768px){.cards{grid-template-columns:1fr!important}}@media print{body{background:#fff;color:#000}.sidebar,.footer,nav{display:none!important}}
