@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Instrument+Sans:wght@400;500;600&family=DM+Mono:wght@400;500&display=swap');
:root{--paper:#F5F3EE;--paper-dark:#EDEAE2;--ink:#1A1714;--ink-mid:#5C5650;--ink-light:#9E9890;--accent:#C84B2F;--accent-dim:#8C3420;--accent-pale:#F9EDE9;--blue:#1A3A5C;--blue-pale:#E8EEF5;--dark:#0D0D0D;--rule:rgba(26,23,20,.12);--rule-strong:rgba(26,23,20,.22);--serif:'Cormorant Garamond',Georgia,serif;--sans:'Instrument Sans',system-ui,sans-serif;--mono:'DM Mono','Courier New',monospace;--radius:4px;--max-width:1200px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background-color:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100vh}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;font-family:var(--sans);border:none;background:none}
button:disabled{cursor:not-allowed;opacity:.6}
select,input,textarea{font-family:var(--sans)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}
.container{max-width:var(--max-width);margin:0 auto;padding:0 40px}
.section{padding:80px 0}
.eyebrow{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px}
.section-title{font-family:var(--serif);font-size:clamp(28px,3.5vw,44px);font-weight:500;line-height:1.15;margin-bottom:16px}
.section-body{font-size:16px;color:var(--ink-mid);line-height:1.7;max-width:580px}
.btn-primary{display:inline-block;background:var(--accent);color:#fff;font-family:var(--sans);font-size:14px;font-weight:600;padding:13px 28px;border-radius:var(--radius);letter-spacing:.02em;transition:background .2s,transform .15s;border:none;cursor:pointer}
.btn-primary:hover:not(:disabled){background:var(--accent-dim);transform:translateY(-1px)}
.nav{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--rule);padding:0 40px;height:60px;display:flex;align-items:center;justify-content:space-between}
.nav-brand{display:flex;align-items:baseline;gap:10px}
.nav-mark{font-family:var(--mono);font-size:15px;font-weight:500;color:var(--accent)}
.nav-name{font-family:var(--mono);font-size:10px;color:var(--ink-mid);letter-spacing:.1em;text-transform:uppercase}
footer{background:var(--dark);color:rgba(245,243,238,.4);padding:32px 40px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-brand{font-family:var(--mono);font-size:13px;color:rgba(245,243,238,.5)}
.footer-brand span{color:var(--accent)}
.footer-legal{font-family:var(--mono);font-size:10px;letter-spacing:.04em}
.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:40px;text-align:center;background:var(--dark);color:rgba(245,243,238,.6)}
.error-screen-mark{font-family:var(--mono);font-size:20px;color:var(--accent);margin-bottom:16px}
.error-screen h2{font-family:var(--serif);font-size:24px;font-weight:500;color:rgba(245,243,238,.85);margin-bottom:10px}
.error-screen p{font-size:14px;max-width:360px;line-height:1.65}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:768px){.container{padding:0 20px}.nav{padding:0 20px}footer{padding:24px 20px;flex-direction:column;text-align:center}.section{padding:56px 0}}
