:root { --ink:#111111; --paper:#f7f6f2; --gold:#b39454; --gold-light:#c8ad73; --line:rgba(17,17,17,.16); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial, Helvetica, sans-serif; line-height:1.5; }
a { color:inherit; text-decoration:none; }
.container { width:min(1120px, calc(100% - 48px)); margin:auto; }
.skip-link { position:absolute; left:-999px; top:10px; background:var(--gold); padding:10px; z-index:10; }
.skip-link:focus { left:10px; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.site-header { min-height:700px; background:var(--ink); color:var(--paper); position:relative; overflow:hidden; }
.nav { min-height:88px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.16); }
.brand { display:inline-flex; align-items:center; gap:10px; font-size:18px; font-weight:700; letter-spacing:.12em; }
.brand img { display:block; }
.nav-links { display:flex; align-items:center; gap:32px; font-size:14px; }
.nav-links a { opacity:.78; transition:opacity .2s; }.nav-links a:hover { opacity:1; }
.menu-button { display:none; }
.hero { padding:122px 0 150px; }.eyebrow,.section-number { margin:0 0 22px; text-transform:uppercase; letter-spacing:.15em; font-size:11px; font-weight:700; color:var(--gold-light); }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:Georgia, 'Times New Roman', serif; font-weight:400; }
h1 { max-width:850px; margin-bottom:25px; font-size:clamp(48px,7vw,92px); line-height:1.02; letter-spacing:-.045em; } h1 em { color:var(--gold-light); }
.hero-copy { max-width:490px; margin-bottom:38px; color:rgba(247,246,242,.72); font-size:18px; }
.button { display:inline-flex; gap:24px; align-items:center; padding:15px 19px; border:1px solid var(--gold-light); color:var(--paper); font-size:13px; font-weight:700; transition:background .2s,color .2s; }.button:hover { background:var(--gold-light); color:var(--ink); }.button span { font-size:18px; }
.hero-line { position:absolute; bottom:0; height:6px; width:min(39%, 520px); background:var(--gold); }
.intro { padding:120px 0; display:grid; grid-template-columns:1fr 2fr; gap:30px; }.section-number { color:var(--gold); }.large-copy { max-width:720px; margin:0; font-family:Georgia, 'Times New Roman', serif; font-size:clamp(27px,3.1vw,44px); line-height:1.17; letter-spacing:-.025em; }
.section-dark { color:var(--paper); background:var(--ink); }.about { padding:108px 0; }.about-grid,.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; }.about h2,.contact h2,.values h2 { margin-bottom:0; font-size:clamp(38px,4vw,58px); line-height:1.04; letter-spacing:-.04em; }.about-text { max-width:500px; font-size:18px; color:rgba(247,246,242,.75); }.about-text p { margin-bottom:24px; }.text-link { color:var(--gold-light); font-size:14px; font-weight:700; }.text-link span { margin-left:10px; font-size:17px; }
.values { padding:120px 0; display:grid; grid-template-columns:1fr 2fr; gap:30px; }.value-list { border-top:1px solid var(--line); }.value-list article { display:grid; grid-template-columns:54px 1fr 1.2fr; gap:18px; padding:25px 0; border-bottom:1px solid var(--line); }.value-list span { font-size:11px; font-weight:bold; color:var(--gold); }.value-list h3 { margin:0; font-size:26px; }.value-list p { margin:2px 0 0; color:#555; font-size:15px; }
.section-gold { color:var(--ink); background:var(--gold-light); }.contact { padding:105px 0; }.contact .eyebrow { color:#594719; }.contact-details { align-self:end; }.email { display:block; margin-bottom:14px; font-family:Georgia, 'Times New Roman', serif; font-size:clamp(27px,3.4vw,47px); letter-spacing:-.035em; overflow-wrap:anywhere; }.contact-details p { margin-bottom:30px; }.button-dark { border-color:var(--ink); color:var(--ink); }.button-dark:hover { color:var(--paper); background:var(--ink); }
.footer { min-height:115px; display:flex; gap:24px; align-items:center; justify-content:space-between; font-size:12px; color:#666; }.footer .brand { color:var(--ink); font-size:14px; }
@media (max-width:700px) { .container { width:min(100% - 36px, 1120px); }.site-header { min-height:650px; }.nav { min-height:73px; }.menu-button { display:flex; width:38px; height:38px; border:0; background:transparent; padding:9px; flex-direction:column; justify-content:center; gap:6px; cursor:pointer; }.menu-button span:not(.sr-only) { display:block; width:20px; height:1px; background:var(--paper); }.nav-links { display:none; position:absolute; z-index:3; top:73px; left:0; width:100%; padding:18px; background:var(--ink); border-bottom:1px solid rgba(255,255,255,.16); flex-direction:column; align-items:flex-start; }.nav-links.is-open { display:flex; }.hero { padding:90px 0 110px; }.intro,.about-grid,.values,.contact-grid { grid-template-columns:1fr; }.intro,.values { padding:80px 0; gap:10px; }.about,.contact { padding:78px 0; }.value-list article { grid-template-columns:35px 1fr; gap:10px; }.value-list p { grid-column:2; }.footer { min-height:140px; align-items:flex-start; justify-content:center; flex-direction:column; gap:10px; } }
