@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

:root { --coffee:#3b2a1e; --cream:#f2e9da; --paper:#faf5eb; --terra:#a65d3a; --sand:#d6b88c; --olive:#6e7d5b; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--coffee); font-family:"Lato",Arial,sans-serif; }
a { color:inherit; }
.siteHeader { height:96px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,6vw,92px); background:var(--cream); border-bottom:1px solid rgba(59,42,30,.16); position:relative; z-index:5; }
.brandLink img { display:block; width:210px; max-height:58px; object-fit:contain; }
nav { display:flex; align-items:center; gap:34px; font-size:.76rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
nav a { text-decoration:none; }
.navContact { border-bottom:2px solid var(--terra); padding-bottom:6px; }
.hero { min-height:720px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr); align-items:center; gap:8vw; padding:90px clamp(24px,7vw,112px); position:relative; overflow:hidden; background:var(--cream); }
.heroTexture { position:absolute; inset:0; opacity:.28; background-image:linear-gradient(90deg,transparent 49.8%,rgba(59,42,30,.07) 50%,transparent 50.2%),radial-gradient(circle at 18% 20%,rgba(214,184,140,.55),transparent 26%),radial-gradient(circle at 84% 82%,rgba(110,125,91,.22),transparent 28%); background-size:72px 100%,auto,auto; }
.heroCopy,.porchCard { position:relative; z-index:1; }
.eyebrow,.sectionLabel { margin:0 0 24px; color:var(--terra); font-size:.74rem; font-weight:900; letter-spacing:.2em; text-transform:uppercase; }
h1,h2,h3,blockquote { font-family:"Libre Baskerville",Georgia,serif; }
h1 { margin:0; font-size:clamp(3.4rem,7.2vw,7rem); line-height:1.02; letter-spacing:-.055em; font-weight:400; }
h1 em { color:var(--terra); font-weight:400; }
.heroLead { max-width:690px; margin:34px 0; font-family:"Libre Baskerville",Georgia,serif; font-size:clamp(1.08rem,1.7vw,1.45rem); line-height:1.8; }
.heroActions { display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.button { display:inline-block; padding:16px 24px; text-decoration:none; text-transform:uppercase; letter-spacing:.13em; font-size:.72rem; font-weight:900; }
.primary { color:var(--cream); background:var(--coffee); }
.secondary { border:1px solid var(--coffee); }
.textLink { font-weight:900; text-decoration:none; font-size:.86rem; }
.textLink span { color:var(--terra); margin-left:7px; }
.porchCard { justify-self:end; width:min(100%,360px); padding:54px 42px; background:var(--coffee); color:var(--cream); border:1px solid rgba(242,233,218,.22); box-shadow:18px 18px 0 var(--sand); }
.porchCard img { width:82px; height:82px; object-fit:contain; background:var(--cream); border-radius:50%; margin-bottom:28px; }
.porchCard p { font-family:"Libre Baskerville",Georgia,serif; font-size:1.35rem; line-height:1.65; }
.porchCard span { color:var(--sand); font-size:.67rem; font-weight:900; letter-spacing:.18em; }
.welcome { padding:120px clamp(24px,7vw,112px); }
.welcomeGrid { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:start; }
h2 { margin:0; font-size:clamp(2.4rem,4.6vw,4.7rem); line-height:1.12; letter-spacing:-.045em; font-weight:400; }
.welcomeGrid p { font-size:1.08rem; line-height:1.9; color:#5d4b3f; }
.welcomeGrid .largeCopy { margin-top:0; color:var(--coffee); font-family:"Libre Baskerville",Georgia,serif; font-size:1.35rem; line-height:1.7; }
.work { background:var(--coffee); color:var(--cream); padding:115px clamp(24px,7vw,112px); }
.light { color:var(--sand); }
.workHeader { display:grid; grid-template-columns:1.2fr .8fr; gap:10vw; align-items:end; padding-bottom:70px; }
.workHeader>p { color:#d9cabb; font-size:1.04rem; line-height:1.8; max-width:520px; }
.offeringGrid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(242,233,218,.25); }
.offeringGrid article { padding:38px 28px 18px 0; border-right:1px solid rgba(242,233,218,.18); min-height:260px; }
.offeringGrid article:not(:first-child) { padding-left:28px; }
.offeringGrid article:last-child { border-right:0; }
.offeringGrid span { color:var(--sand); font-size:.68rem; font-weight:900; letter-spacing:.14em; }
.offeringGrid h3 { margin:50px 0 14px; font-size:1.65rem; font-weight:400; }
.offeringGrid p { color:#d8c9ba; line-height:1.75; font-size:.94rem; }
.principle { text-align:center; padding:120px 24px; background:var(--sand); }
.ruleMark { color:var(--terra); font-size:1.3rem; }
blockquote { margin:34px auto 22px; max-width:980px; font-size:clamp(2rem,4vw,4rem); line-height:1.35; letter-spacing:-.035em; }
.principle p { font-weight:900; letter-spacing:.12em; text-transform:uppercase; font-size:.72rem; }
.comingSoon { padding:105px clamp(24px,7vw,112px); display:grid; grid-template-columns:1.2fr .8fr; gap:10vw; align-items:end; background:var(--cream); }
.soonCopy p { font-family:"Libre Baskerville",Georgia,serif; line-height:1.75; font-size:1.16rem; margin:0 0 28px; }
footer { background:#211811; color:var(--cream); padding:50px clamp(24px,7vw,112px); display:grid; grid-template-columns:auto 1fr auto auto; gap:25px; align-items:center; }
footer img { width:58px; height:58px; object-fit:contain; background:var(--cream); border-radius:50%; }
footer div { display:flex; flex-direction:column; gap:4px; }
footer strong { font-family:"Libre Baskerville",Georgia,serif; font-size:1.2rem; }
footer span,footer p { color:#bcae9e; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
footer>a { color:var(--sand); font-weight:700; }
@media (max-width:900px) { nav a:not(.navContact){display:none}.hero{grid-template-columns:1fr;padding-top:70px}.porchCard{justify-self:start}.welcomeGrid,.workHeader,.comingSoon{grid-template-columns:1fr}.offeringGrid{grid-template-columns:1fr 1fr}.offeringGrid article:nth-child(2){border-right:0}.workHeader{align-items:start}.comingSoon{align-items:start}footer{grid-template-columns:auto 1fr}footer>p,footer>a{grid-column:2} }
@media (max-width:560px) { .siteHeader{height:82px}.brandLink img{width:165px}h1{font-size:3.25rem}.hero{padding-top:55px;padding-bottom:80px}.porchCard{padding:38px 30px;box-shadow:10px 10px 0 var(--sand)}.welcome,.work,.principle,.comingSoon{padding-top:80px;padding-bottom:80px}.offeringGrid{grid-template-columns:1fr}.offeringGrid article,.offeringGrid article:not(:first-child){padding:28px 0;border-right:0;border-bottom:1px solid rgba(242,233,218,.18);min-height:0}.offeringGrid h3{margin-top:24px}footer{grid-template-columns:1fr;text-align:center;justify-items:center}footer>a,footer>p{grid-column:1}.heroActions{align-items:flex-start;flex-direction:column} }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

