:root { --ink:#18201f; --muted:#5d6963; --line:#d8dfdb; --paper:#f4f3ed; --cream:#fffef9; --green:#145444; --lime:#d4e64f; --night:#131917; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial, Helvetica, sans-serif; letter-spacing:0; }
a { color:inherit; }
.site-header { position:absolute; top:0; left:0; right:0; z-index:3; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; padding:22px clamp(20px,4vw,72px); color:#fff; }
.brand { display:inline-flex; align-items:center; gap:10px; text-decoration:none; font-size:.72rem; font-weight:700; line-height:1.08; letter-spacing:.11em; }
.brand strong { font-size:1.25rem; letter-spacing:.04em; }
.brand-dot { width:13px; height:13px; background:var(--lime); border-radius:50%; }
nav { display:flex; gap:26px; font-size:.84rem; font-weight:700; }
nav a { text-decoration:none; }
.phone { justify-self:end; padding:12px 15px; border:1px solid rgba(255,255,255,.48); text-decoration:none; font-weight:700; font-size:.88rem; }
.hero { position:relative; min-height:760px; height:100svh; overflow:hidden; color:#fff; }
.hero-image, .hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-image { object-fit:cover; }
.hero-shade { background:linear-gradient(90deg,rgba(10,15,13,.82) 0%,rgba(10,15,13,.54) 35%,rgba(10,15,13,.06) 70%), linear-gradient(0deg,rgba(10,15,13,.4),transparent 38%); }
.hero-copy { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:flex-end; height:100%; max-width:800px; padding:150px clamp(20px,7.5vw,128px) 122px; }
.eyebrow { margin:0 0 18px; color:var(--green); font-size:.76rem; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.hero .eyebrow { color:var(--lime); }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:Georgia, 'Times New Roman', serif; font-weight:500; }
h1 { max-width:720px; margin-bottom:24px; font-size:clamp(3.15rem,6vw,6.4rem); line-height:.93; }
h2 { margin-bottom:22px; font-size:clamp(2.4rem,4vw,4.6rem); line-height:1; }
.hero-lead { max-width:540px; margin-bottom:30px; font-size:1.1rem; line-height:1.62; color:rgba(255,255,255,.82); }
.actions { display:flex; flex-wrap:wrap; gap:10px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:13px 20px; border:1px solid transparent; border-radius:0; font:700 .9rem Arial, Helvetica, sans-serif; cursor:pointer; text-decoration:none; }
.button-main { color:#18201f; background:var(--lime); }
.button-plain { color:#fff; border-color:rgba(255,255,255,.55); }
.hero-note { position:absolute; z-index:1; right:clamp(20px,4vw,72px); bottom:38px; display:grid; gap:7px; max-width:290px; padding-left:18px; border-left:2px solid var(--lime); }
.hero-note span { color:var(--lime); font-size:.72rem; font-weight:800; text-transform:uppercase; letter-spacing:.11em; }
.hero-note strong { font-size:1.1rem; }
.hero-note a { color:rgba(255,255,255,.8); font-size:.88rem; }
.services { padding:110px clamp(20px,7.5vw,128px) 72px; background:var(--cream); }
.section-intro { display:grid; grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:40px; align-items:start; margin-bottom:68px; }
.section-intro h2 { max-width:720px; }
.service-list { border-top:1px solid var(--line); }
.service-list article { display:grid; grid-template-columns:100px minmax(180px,.7fr) minmax(0,1.3fr); gap:30px; align-items:baseline; padding:27px 0; border-bottom:1px solid var(--line); }
.service-list span { color:var(--green); font-weight:800; }
.service-list h3 { margin:0; font-size:1.18rem; }
.service-list p { max-width:440px; margin:0; color:var(--muted); line-height:1.55; }
.statement { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); gap:80px; align-items:end; padding:122px clamp(20px,7.5vw,128px); color:#fff; background:var(--green); }
.statement .eyebrow { color:var(--lime); }
.statement h2 { max-width:760px; margin:0; }
.statement > p { max-width:430px; margin:0; color:rgba(255,255,255,.79); line-height:1.7; }
.location { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr); min-height:560px; background:var(--paper); }
.map-wrap iframe { display:block; width:100%; height:100%; min-height:420px; border:0; filter:grayscale(1) contrast(.9); }
.location-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:68px; }
.location-copy h2 { font-size:clamp(2.3rem,3.5vw,4rem); }
address { margin:0 0 22px; font-style:normal; line-height:1.65; }
.text-link { color:var(--green); font-weight:800; }
.contact { display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.82fr); gap:clamp(40px,8vw,140px); padding:115px clamp(20px,7.5vw,128px); background:var(--night); color:#fff; }
.contact .eyebrow { color:var(--lime); }
.contact-copy > p:not(.eyebrow) { max-width:500px; color:rgba(255,255,255,.7); line-height:1.6; }
.contact-phone,.contact-email { display:block; width:max-content; margin-top:18px; font-weight:700; }
.contact-phone { color:var(--lime); font-size:1.5rem; text-decoration:none; }
.contact-email { color:#fff; }
.socials { display:flex; gap:18px; margin-top:30px; font-size:.86rem; font-weight:700; }
.contact-form { display:grid; gap:15px; padding:28px; background:var(--cream); color:var(--ink); }
label { display:grid; gap:7px; font-size:.8rem; font-weight:700; }
input,textarea { width:100%; border:1px solid #bdc8c1; border-radius:0; padding:12px; background:#fff; color:var(--ink); font:inherit; }
textarea { resize:vertical; }
.form-note { margin:0; color:var(--muted); font-size:.81rem; line-height:1.45; }
footer { display:flex; justify-content:space-between; gap:20px; padding:22px clamp(20px,7.5vw,128px); color:rgba(255,255,255,.72); background:#0b100e; font-size:.82rem; }
footer a { color:#fff; }
@media (max-width:850px) { .site-header { grid-template-columns:1fr auto; } nav { display:none; } .hero { min-height:680px; } .hero-copy { padding-bottom:144px; } .section-intro,.statement,.location,.contact { grid-template-columns:1fr; } .section-intro { gap:0; } .statement { gap:28px; } .location-copy { padding:72px 24px; } .map-wrap { min-height:360px; } }
@media (max-width:580px) { .site-header { padding:17px 18px; } .phone { padding:10px; font-size:.78rem; } .hero { min-height:650px; } .hero-copy { padding:110px 20px 132px; } h1 { font-size:3.25rem; } .hero-note { right:20px; bottom:26px; max-width:230px; } .services,.statement,.contact { padding:76px 20px; } .section-intro { margin-bottom:42px; } .service-list article { grid-template-columns:42px 1fr; gap:9px 18px; } .service-list p { grid-column:2; } .location-copy { padding:60px 20px; } .contact { gap:42px; } footer { display:grid; } }
