:root { --ink:#1d3022; --green:#294934; --green-deep:#173221; --gold:#c58a2e; --gold-light:#d9aa5d; --cream:#f3eadc; --paper:#fcf8f1; --muted:#657067; --line:#d8cbb8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.topbar { height:104px; padding:0 clamp(24px,5vw,76px); display:flex; align-items:center; justify-content:space-between; background:rgba(252,248,241,.97); border-bottom:1px solid rgba(197,138,46,.32); position:relative; z-index:5; }
.brand { display:flex; gap:15px; align-items:center; letter-spacing:.08em; }
.brandLogo { width:82px; height:82px; object-fit:contain; mix-blend-mode:multiply; }
.brandDivision { color:var(--green); border-left:1px solid var(--gold); padding-left:15px; font-size:10px; font-weight:800; letter-spacing:.28em; }
nav { display:flex; gap:34px; font-size:13px; font-weight:700; } nav a:hover{color:var(--green)}
.button { display:inline-flex; align-items:center; justify-content:center; gap:34px; background:var(--gold); color:#17271c; border:1px solid rgba(255,255,255,.16); padding:17px 23px; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; cursor:pointer; transition:.2s; box-shadow:0 8px 24px rgba(42,35,18,.12); }
.button:hover { background:var(--gold-light); transform:translateY(-1px); }.buttonSmall{padding:13px 18px;font-size:10px}
.hero { min-height:670px; position:relative; display:flex; align-items:center; padding:84px clamp(24px,7vw,108px); background-image:url('https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=2200&q=88'); background-size:cover; background-position:center; color:white; }
.heroShade { position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,51,33,.95) 0%,rgba(27,62,42,.76) 50%,rgba(25,54,38,.24) 100%); }
.heroContent { position:relative; z-index:1; max-width:720px; }.eyebrow{margin:0 0 18px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:#e6bd6c}
h1,h2,h3,blockquote { font-family:Georgia, 'Times New Roman', serif; }
h1 { margin:0; max-width:710px; font-size:clamp(52px,6.2vw,88px); line-height:.99; font-weight:400; letter-spacing:-.035em; }
.heroLead { max-width:620px; margin:26px 0 13px; font-size:19px; line-height:1.6; color:#e8eeeb; }.independent{font-size:13px;color:#d9e2de}.independent span{color:#f1bd54;margin-right:8px}.heroActions{display:flex;align-items:center;gap:28px;margin-top:34px}.textLink{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid currentColor;padding-bottom:5px}
.heroCard { position:absolute; z-index:2; right:6vw; bottom:-58px; width:350px; padding:36px; background:var(--paper); color:var(--ink); border-top:4px solid var(--gold); box-shadow:0 24px 70px rgba(21,48,32,.24); }.heroCard h2{font-size:28px;line-height:1.15;margin:0 0 15px;font-weight:400}.heroCard p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.7}.heroCard span{display:block;font-size:11px;font-weight:700;margin:10px 0}.miniRule{height:1px;background:var(--line);margin:20px 0}
.section { padding:105px clamp(24px,7vw,108px); }.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:9vw;padding-top:150px}.intro h2,.sectionHeading h2,.about h2,.contact h2{font-size:clamp(38px,4.5vw,60px);line-height:1.08;font-weight:400;margin:0}.introCopy{font-size:16px;line-height:1.85;color:var(--muted)}
.services { background:linear-gradient(135deg,var(--cream),#f8f1e7); }.sectionHeading{max-width:650px;margin-bottom:50px}.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.serviceCard{padding:34px 38px 25px 0;border-right:1px solid var(--line);margin-right:38px}.serviceCard:last-child{border:0;margin:0}.serviceNumber{color:var(--gold);font:20px Georgia,serif}.serviceCard h3{font-size:27px;font-weight:400;margin:38px 0 14px;color:var(--green-deep)}.serviceCard p{color:var(--muted);line-height:1.75;font-size:14px}
.approach{display:grid;grid-template-columns:1fr 1fr;min-height:700px;background:linear-gradient(145deg,var(--green),var(--green-deep));color:#fff}.approachImage{min-height:540px;background:url('https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=1400&q=85') center/cover;box-shadow:inset -18px 0 35px rgba(16,43,27,.16)}.approachContent{padding:90px clamp(35px,6vw,90px)}.approachContent h2{font-size:clamp(40px,4.2vw,58px);font-weight:400;line-height:1.08;margin:0 0 48px}.approach ol{list-style:none;padding:0;margin:0}.approach li{display:flex;gap:22px;padding:20px 0;border-top:1px solid rgba(217,170,93,.28)}.approach li>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border:1px solid var(--gold-light);border-radius:50%;color:var(--gold-light);font-size:12px}.approach strong{font:400 20px Georgia,serif}.approach li p{margin:7px 0;color:#d7dfd8;font-size:13px;line-height:1.6}
.about{display:grid;grid-template-columns:1.25fr .75fr;gap:7vw;align-items:center}.aboutPanel>p:not(.eyebrow){color:var(--muted);font-size:15px;line-height:1.8}.textLink.dark{color:var(--green);display:inline-block;margin-top:12px}.quotePanel{background:var(--cream);padding:55px;border-bottom:4px solid var(--gold)}.quotePanel blockquote{margin:0;font-size:31px;line-height:1.35;color:var(--green)}.quotePanel p{font-size:11px;font-weight:bold;text-transform:uppercase;letter-spacing:.14em;margin-top:30px}
.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--green-deep);color:white}.contactIntro>p:not(.eyebrow){color:#d0d9d2;line-height:1.75}.contactIntro>a{display:block;margin-top:14px;font-size:14px;color:var(--gold-light)}.contactIntro address{margin-top:26px;color:#d0d9d2;font-size:13px;line-height:1.7;font-style:normal}.contact form{background:var(--paper);color:var(--ink);padding:36px;border-top:4px solid var(--gold)}.fieldRow{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact label{display:block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:20px}.contact input,.contact textarea{display:block;width:100%;border:0;border-bottom:1px solid #bfc5c1;background:transparent;padding:12px 2px;font:15px Arial;margin-top:6px;outline:none}.contact textarea{border:1px solid #cdd1ce;padding:12px;resize:vertical}.contact input:focus,.contact textarea:focus{border-color:var(--gold)}
.disclaimer{padding-top:35px;padding-bottom:35px;background:#ece3d5;display:grid;grid-template-columns:170px 1fr;gap:30px;border-top:1px solid var(--line)}.disclaimer strong{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--green)}.disclaimer p{margin:0;color:#626a66;font-size:11px;line-height:1.7}
footer{padding:28px clamp(24px,7vw,108px);display:flex;align-items:center;gap:40px;background:var(--paper);border-top:1px solid rgba(197,138,46,.25)}footer p{font-size:11px;color:#777;margin-left:auto}.footerBrand{margin-right:20px}.footerBrand .brandLogo{width:74px;height:74px}
@media(max-width:900px){nav,.buttonSmall{display:none}.hero{min-height:720px;align-items:flex-start}.heroCard{position:relative;right:auto;bottom:auto;width:100%;margin-top:48px}.hero{display:block}.intro,.about,.contact,.approach{grid-template-columns:1fr}.serviceGrid{grid-template-columns:1fr}.serviceCard{border-right:0;border-bottom:1px solid #d4ccbd;margin:0;padding-right:0}.approachImage{min-height:420px}.disclaimer{grid-template-columns:1fr}footer{align-items:flex-start;flex-direction:column;gap:10px}footer p{margin:0}.heroContent{max-width:none}}
@media(max-width:560px){.topbar{height:84px}.brandLogo{width:64px;height:64px}.brandDivision{font-size:8px;padding-left:10px}.hero,.section{padding-left:22px;padding-right:22px}.hero{padding-top:60px}.heroActions{align-items:flex-start;flex-direction:column}.heroCard{padding:27px}.intro{padding-top:90px}.fieldRow{grid-template-columns:1fr}.contact form{padding:24px}.approachContent{padding:70px 24px}.quotePanel{padding:34px}h1{font-size:50px}}
