:root { --cream:#f7f4ed; --paper:#fffdf8; --ink:#272a27; --stone:#716d65; --sage:#697d6a; --sage-dark:#3f5544; --line:rgba(86,82,73,.19); font-family:"DM Sans",sans-serif; color:var(--ink); background:var(--cream); }
* { box-sizing:border-box; } body { margin:0; background:var(--cream); color:var(--ink); font-weight:300; } img { display:block; width:100%; } a { color:inherit; } .shell { width:min(1200px,calc(100% - 40px)); margin-inline:auto; } h1,h2,h3,.brand,.footer-brand { font-family:"Cormorant Garamond",serif; font-weight:500; line-height:.98; } .eyebrow { margin:0 0 13px; color:var(--sage-dark); font-size:.68rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; }
.site-header { position:absolute; z-index:20; inset:0 0 auto; border-bottom:1px solid rgba(255,255,255,.24); color:white; } .header-inner { min-height:82px; display:flex; align-items:center; justify-content:space-between; gap:30px; } .brand { display:flex; align-items:center; gap:9px; text-decoration:none; font-size:1.35rem; } .brand img { width:36px; height:36px; object-fit:contain; filter:brightness(0) invert(1); } .site-nav { display:flex; gap:30px; } .site-nav a { text-decoration:none; font-size:.76rem; letter-spacing:.06em; } .menu-toggle { display:none; border:0; background:none; color:inherit; }
.home-hero { min-height:820px; position:relative; display:grid; align-items:end; overflow:hidden; background:#233027; color:white; } .home-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.72; } .home-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(20,30,24,.7),rgba(20,30,24,.12) 72%),linear-gradient(0deg,rgba(20,30,24,.58),transparent 50%); } .hero-content { position:relative; z-index:2; max-width:850px; padding-bottom:clamp(80px,11vw,140px); } .hero-content .eyebrow { color:#dce5d8; } .hero-content h1 { max-width:820px; margin:0; font-size:clamp(4.2rem,8vw,8rem); letter-spacing:-.04em; } .hero-content p:not(.eyebrow) { max-width:620px; margin:25px 0 0; color:rgba(255,255,255,.82); font-size:1rem; line-height:1.8; } .hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; } .button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid white; text-decoration:none; font-size:.72rem; font-weight:500; letter-spacing:.07em; } .button.primary { background:white; color:var(--ink); }
.values { display:grid; grid-template-columns:repeat(4,1fr); padding:0; background:var(--paper); } .value { min-height:260px; padding:54px clamp(24px,3vw,48px); border-right:1px solid var(--line); } .value:last-child { border:0; } .value strong { display:block; margin-bottom:20px; color:var(--sage); font:500 2.7rem "Cormorant Garamond",serif; } .value h2 { margin:0 0 12px; font-size:1.6rem; } .value p { margin:0; color:var(--stone); font-size:.74rem; line-height:1.7; }
.feature { padding:clamp(90px,12vw,160px) 0; } .feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(50px,9vw,130px); align-items:center; } .feature-image { aspect-ratio:.9; overflow:hidden; background:#ddd; } .feature-image img { height:100%; object-fit:cover; } .feature-copy h2 { margin:0; font-size:clamp(3.6rem,6vw,6.4rem); letter-spacing:-.035em; } .feature-copy p:not(.eyebrow) { max-width:560px; margin:24px 0 0; color:var(--stone); line-height:1.85; } .text-link { display:inline-block; margin-top:28px; padding-bottom:6px; border-bottom:1px solid currentColor; color:var(--sage-dark); text-decoration:none; font-size:.78rem; font-weight:500; }
.feature.alt { background:var(--sage-dark); color:white; } .feature.alt .feature-copy { order:-1; } .feature.alt .feature-copy .eyebrow,.feature.alt .text-link { color:#d7e0d5; } .feature.alt .feature-copy p:not(.eyebrow) { color:rgba(255,255,255,.72); }
.contact-band { padding:100px 0; background:#e9e1d3; text-align:center; } .contact-band h2 { max-width:900px; margin:0 auto; font-size:clamp(3.2rem,6vw,6rem); } .contact-band p { color:var(--stone); } .site-footer { padding:65px 0 25px; background:#252824; color:rgba(255,255,255,.7); } .footer-grid { display:grid; grid-template-columns:1.5fr .7fr .8fr; gap:70px; } .footer-grid>div { display:flex; flex-direction:column; align-items:flex-start; gap:10px; } .footer-brand { margin:0; color:white; font-size:2rem; } .footer-grid p,.footer-grid a { margin:0; font-size:.74rem; line-height:1.7; text-decoration:none; } .footer-grid h2 { margin:0 0 8px; color:white; font:600 .62rem "DM Sans",sans-serif; letter-spacing:.17em; text-transform:uppercase; } .footer-bottom { margin-top:45px; padding-top:20px; border-top:1px solid rgba(255,255,255,.12); font-size:.62rem; }
@media(max-width:800px){.site-header{position:absolute}.header-inner{min-height:68px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:68px;left:0;right:0;padding:22px;background:#29362d;flex-direction:column}.site-nav[data-open="true"]{display:flex}.home-hero{min-height:720px}.values{grid-template-columns:1fr 1fr}.feature-grid{grid-template-columns:1fr}.feature.alt .feature-copy{order:initial}.footer-grid{grid-template-columns:1fr;gap:35px}}
@media(max-width:500px){.shell{width:calc(100% - 28px)}.brand span{display:none}.hero-content h1{font-size:3.8rem}.values{grid-template-columns:1fr}.value{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.home-hero{min-height:680px}.feature-copy h2{font-size:3.4rem}}
