@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=DM+Sans:wght@400;500;700&display=swap');

:root { --ink:#17241f; --muted:#61716a; --cream:#f2eee5; --line:#d8d4c9; --orange:#da6b34; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#faf9f5; font-family:'DM Sans',Arial,sans-serif; line-height:1.6; }
a { color:inherit; }
.shell { width:min(1120px, calc(100% - 48px)); margin:0 auto; }
.site-header { background:#f7f4ec; border-bottom:1px solid rgba(23,36,31,.11); position:relative; z-index:2; }
.header-inner { min-height:92px; display:flex; align-items:center; justify-content:space-between; }
.brand { display:flex; align-items:center; gap:0; text-decoration:none; letter-spacing:.08em; }
.brand strong { font:700 25px/1 'Barlow Condensed',Arial,sans-serif; display:block; }
.brand small { color:#7b877d; display:block; font-size:9px; font-weight:700; letter-spacing:.28em; margin-top:4px; }
.brand-mark { width:39px; height:39px; position:relative; display:block; background:var(--orange); border-radius:50% 50% 7px 50%; transform:rotate(-18deg); }
.brand-mark { display:none; }
.brand-mark:before,.brand-mark:after { content:""; position:absolute; background:#f7f4ec; }
.brand-mark:before { width:4px; height:26px; left:18px; top:6px; transform:rotate(43deg); }
.brand-mark:after { width:18px; height:5px; left:13px; top:8px; transform:rotate(43deg); }
.brand-mark span { width:13px; height:13px; border:3px solid #f7f4ec; border-radius:50%; position:absolute; left:6px; bottom:7px; }
.brand-mark i { display:none; }
.phone { font-size:14px; font-weight:700; text-decoration:none; letter-spacing:.03em; }
.phone-icon { color:var(--orange); font-size:18px; margin-right:7px; }
.hero { min-height:540px; position:relative; overflow:hidden; color:#fff; background:#233f3c; }
.hero-sky { position:absolute; inset:0; background:linear-gradient(155deg,#102e34 0%,#285a55 42%,#bd8c5b 100%); opacity:.98; }
.hero-sky:after { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 70% 22%,rgba(246,207,138,.58),transparent 34%),linear-gradient(0deg,rgba(9,20,20,.55),transparent 50%); }
.hero-ridge { position:absolute; left:-5%; right:-5%; bottom:-12%; height:54%; background:#172e2a; clip-path:polygon(0 70%,9% 58%,20% 68%,30% 36%,42% 64%,54% 24%,67% 57%,78% 31%,90% 62%,100% 45%,100% 100%,0 100%); }
.hero-grid { position:absolute; inset:auto 0 0; height:46%; opacity:.12; background:linear-gradient(115deg,transparent 49.6%,#f4dfb0 50%,transparent 50.4%),linear-gradient(65deg,transparent 49.6%,#f4dfb0 50%,transparent 50.4%); background-size:92px 92px; transform:perspective(300px) rotateX(58deg) scale(1.5); transform-origin:bottom; }
.hero-content { position:relative; z-index:1; padding-top:104px; text-align:center; }
.eyebrow,.section-kicker { text-transform:uppercase; letter-spacing:.22em; color:#e7ae76; font-size:11px; font-weight:700; }
.hero-logo { display:inline-flex; align-items:center; gap:18px; margin:22px 0 13px; text-align:left; font:700 clamp(64px,10vw,112px)/.76 'Barlow Condensed',Arial,sans-serif; letter-spacing:.04em; text-shadow:3px 4px 0 rgba(0,0,0,.17); }
.hero-logo b { color:#f1b16e; }
.hero-pick { font-size:.62em; color:#f1b16e; transform:rotate(-35deg); }
.hero-content p { font-size:17px; font-style:italic; font-weight:500; letter-spacing:.04em; }
.services { padding:96px 0 89px; text-align:center; }
.services h1 { font:600 clamp(40px,5vw,60px)/1 'Barlow Condensed',Arial,sans-serif; margin:12px 0 48px; letter-spacing:.01em; }
.service-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; align-items:start; }
.service { min-width:0; }
.service-icon { width:102px; height:102px; border-radius:50%; margin:0 auto 16px; color:white; display:grid; place-items:center; font-size:43px; font-family:Arial,sans-serif; box-shadow:0 9px 18px rgba(23,36,31,.12); }
.service h2 { font:600 25px/1.05 'Barlow Condensed',Arial,sans-serif; margin:0 0 9px; }
.service p { color:var(--muted); font-size:13px; line-height:1.45; margin:0 auto; max-width:185px; }
.service-link { text-decoration:none; display:block; }
.service-link:hover h2 { color:var(--orange); }
.service-brown .service-icon { background:#8b4513; }.service-blue .service-icon { background:#1459ae; }.service-purple .service-icon { background:#79347d; }.service-green .service-icon { background:#409b21; }.service-olive .service-icon { background:#3a5f0b; }
.about { background:#e9e6dc; padding:88px 0 92px; }
.about-grid { display:grid; grid-template-columns:35% 1fr; gap:9%; }
.about h1,.about h2,.contact h2 { font:600 clamp(38px,4.5vw,56px)/.95 'Barlow Condensed',Arial,sans-serif; margin:15px 0 0; }
.about h1 { background:transparent; padding:0; }
h1.about { background:transparent; padding:0; }
.copy { font-size:14px; color:#45574f; }.copy p:first-child { font-size:17px; color:var(--ink); margin-top:0; }.copy ul { padding-left:20px; }.copy li { margin:7px 0; }
.contact { display:flex; justify-content:space-between; align-items:center; gap:30px; padding:86px 0; }.contact h2 { font-size:43px; }.button { background:var(--orange); color:#fff; padding:17px 24px; font-weight:700; text-decoration:none; white-space:nowrap; transition:transform .2s,background .2s; }.button:hover { background:#b85121; transform:translateY(-2px); }.button span { font-size:22px; margin-left:18px; }
footer { background:#17241f; color:#bbc7bd; font-size:12px; }.footer-inner { min-height:75px; display:flex; justify-content:space-between; align-items:center; }.footer-inner a { color:#fff; text-decoration:none; }
@media (max-width:850px) { .service-grid { grid-template-columns:repeat(3,1fr); row-gap:40px; }.about-grid { grid-template-columns:1fr; gap:35px; } }
@media (max-width:560px) { .shell { width:min(100% - 32px,1120px); }.header-inner { min-height:78px; }.phone { font-size:0; }.phone-icon { font-size:21px; }.hero { min-height:490px; }.hero-content { padding-top:90px; }.service-grid { grid-template-columns:repeat(2,1fr); }.service:last-child { grid-column:1 / -1; }.contact { display:block; }.button { display:inline-block; margin-top:28px; }.about,.services { padding:66px 0; } }
