@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:86px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:24px; }
.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; }
.site-nav { display:flex; justify-content:center; gap:clamp(12px,1.8vw,25px); min-width:0; }.site-nav a { color:#526159; font-size:11px; font-weight:700; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; white-space:nowrap; }.site-nav a:hover,.site-nav a.active { color:var(--orange); }.header-contact { color:var(--ink); font-size:12px; font-weight:700; letter-spacing:.03em; text-decoration:none; white-space:nowrap; }.header-contact span:last-child { color:#7b877d; font-size:10px; font-weight:500; margin-right:4px; text-transform:uppercase; }
.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; box-shadow:0 9px 18px rgba(23,36,31,.12); }.service-icon i { font-size:40px; }
.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:background .2s; }.button:hover { background:#b85121; }.button span { font-size:22px; margin-left:18px; }
footer { background:#17241f; color:#bbc7bd; font-size:12px; }.corporate-footer { display:grid; grid-template-columns:minmax(220px,.9fr) minmax(0,1.6fr); gap:clamp(40px,9vw,130px); padding:58px 0 45px; }.footer-brand .brand { color:#fff; display:inline-flex; }.footer-brand .brand small { color:#9aa89e; }.footer-brand p { color:#9aa89e; font-size:13px; line-height:1.5; margin:16px 0 0; max-width:210px; }.footer-links { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.footer-links h2 { color:#f6f5ef; font:600 17px/1 'Barlow Condensed',Arial,sans-serif; letter-spacing:.04em; margin:4px 0 17px; text-transform:uppercase; }.footer-links a { color:#bbc7bd; display:block; font-size:12px; margin:0 0 10px; text-decoration:none; }.footer-links a:hover,.footer-bottom a:hover { color:#fff; }.footer-bottom { align-items:center; border-top:1px solid rgba(255,255,255,.13); color:#8f9c93; display:flex; font-size:11px; justify-content:space-between; min-height:62px; }.footer-bottom div { display:flex; gap:19px; }.footer-bottom a { color:#bbc7bd; text-decoration:none; }
.corporate-hero { color:#fff; padding:92px 0 100px; position:relative; overflow:hidden; background:#1c3936; }.corporate-hero:before { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 78% 10%,rgba(238,178,108,.35),transparent 28%),linear-gradient(120deg,transparent 40%,rgba(255,255,255,.05)); }.corporate-hero > .shell { position:relative; }.corporate-hero .section-kicker { color:#efb171; }.corporate-hero h1 { font:600 clamp(48px,6vw,78px)/.93 'Barlow Condensed',Arial,sans-serif; letter-spacing:.01em; margin:17px 0; max-width:840px; text-shadow:3px 4px 0 rgba(0,0,0,.13); }.corporate-hero p { font-size:17px; line-height:1.55; margin:0; max-width:650px; }.corporate-hero--sustainability { background:linear-gradient(120deg,#18413b,#315e4e); }.corporate-hero--careers { background:linear-gradient(120deg,#293d33,#836348); }.corporate-hero--contact { background:linear-gradient(120deg,#1b3938,#375c64); }.corporate-hero--governance { background:linear-gradient(120deg,#273432,#5a6658); }.corporate-section { padding:86px 0; }.corporate-grid { display:grid; grid-template-columns:35% 1fr; gap:9%; }.corporate-grid h2,.section-heading { font:600 clamp(38px,4.5vw,56px)/.95 'Barlow Condensed',Arial,sans-serif; margin:15px 0 0; }.corporate-copy { color:#45574f; font-size:16px; max-width:700px; }.corporate-copy p:first-child { color:var(--ink); font-size:18px; margin-top:0; }.corporate-copy .button { display:inline-block; margin-top:14px; }.corporate-band { background:#e9e6dc; padding:78px 0 82px; }.corporate-band--light { background:#f2eee5; }.corporate-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:29px; }.corporate-cards article { border-top:2px solid var(--orange); padding:16px 14px 0 0; }.corporate-cards article > span { color:var(--orange); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }.corporate-cards h2 { font:600 30px/1 'Barlow Condensed',Arial,sans-serif; margin:10px 0; }.corporate-cards p { color:#526159; font-size:14px; margin:0; }.corporate-cards a { color:var(--ink); display:inline-block; font-size:13px; font-weight:700; margin-top:15px; text-decoration:none; }.corporate-cards a:hover { color:var(--orange); }.business-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); margin-top:32px; }.business-grid a { background:#faf9f5; min-height:140px; padding:23px; text-decoration:none; transition:background .2s; }.business-grid a:hover { background:#f2eee5; }.business-grid strong { display:block; font:600 27px/1 'Barlow Condensed',Arial,sans-serif; margin-bottom:9px; }.business-grid span { color:var(--muted); display:block; font-size:13px; line-height:1.45; }.contact-options { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); margin:76px auto; }.contact-options article { background:#faf9f5; min-height:270px; padding:40px; }.contact-options h2 { font:600 40px/1 'Barlow Condensed',Arial,sans-serif; margin:13px 0; }.contact-options p { color:var(--muted); font-size:15px; max-width:360px; }.button--outline { background:var(--ink); }.button--outline:hover { background:#31443c; }.job-openings { background:#f2eee5; padding:78px 0 84px; }.job-list { border-top:1px solid var(--line); margin-top:33px; }.job-card { align-items:center; border-bottom:1px solid var(--line); display:grid; gap:28px; grid-template-columns:minmax(0,1fr) auto; padding:27px 0; }.job-card-meta { color:var(--orange); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }.job-card h3 { font:600 34px/1 'Barlow Condensed',Arial,sans-serif; margin:8px 0; }.job-card h3 a { text-decoration:none; }.job-card h3 a:hover,.job-card-action a:hover { color:var(--orange); }.job-card p { color:var(--muted); font-size:14px; margin:0; max-width:670px; }.job-card-action { align-items:flex-end; display:flex; flex-direction:column; gap:12px; }.job-card-action span { color:#78867d; font-size:11px; white-space:nowrap; }.job-card-action a { font-size:13px; font-weight:700; text-decoration:none; white-space:nowrap; }.job-detail-layout { display:grid; grid-template-columns:220px minmax(0,700px); gap:min(9vw,110px); padding:68px 0 42px; }.job-meta { border-top:2px solid var(--orange); padding-top:13px; }.job-meta div + div { border-top:1px solid var(--line); margin-top:18px; padding-top:16px; }.job-meta span { color:var(--orange); display:block; font-size:11px; font-weight:700; letter-spacing:.16em; margin-bottom:4px; text-transform:uppercase; }.job-meta strong { display:block; font-size:14px; line-height:1.35; }.job-body { color:#45574f; font-size:16px; }.job-body > :first-child { margin-top:0; }.job-body h2 { color:var(--ink); font:600 35px/1 'Barlow Condensed',Arial,sans-serif; margin:1.35em 0 .4em; }.job-body p { margin:0 0 1.25em; }.job-body ul { margin:0 0 1.3em; padding-left:21px; }.job-body li { margin:7px 0; }.job-apply { align-items:center; background:#e9e6dc; display:flex; gap:28px; justify-content:space-between; margin-top:46px; padding:28px; }.job-apply h2 { font-size:28px; margin:8px 0 0; max-width:330px; }.job-apply .button { margin:0; }.legal-page { max-width:820px; padding:82px 0 100px; }.legal-page h1 { font:600 clamp(46px,5vw,66px)/.95 'Barlow Condensed',Arial,sans-serif; margin:14px 0; }.legal-lede { color:var(--muted); font-size:18px; margin:0 0 44px; }.legal-page h2 { font:600 31px/1 'Barlow Condensed',Arial,sans-serif; margin:37px 0 9px; }.legal-page p { color:#45574f; font-size:15px; }.legal-page a { color:var(--orange); font-weight:700; }
.press-index { padding:88px 0 96px; }.press-index h1 { font:600 clamp(42px,5vw,60px)/.95 'Barlow Condensed',Arial,sans-serif; margin:14px 0 10px; }.press-intro { color:var(--muted); font-size:17px; margin:0 0 42px; }.press-list { border-top:1px solid var(--line); }.press-card { padding:29px 0 31px; border-bottom:1px solid var(--line); }.press-card-meta,.press-meta span { color:var(--orange); font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }.press-card h2 { font:600 clamp(28px,3vw,38px)/1.02 'Barlow Condensed',Arial,sans-serif; margin:9px 0; max-width:800px; }.press-card h2 a { text-decoration:none; }.press-card h2 a:hover,.press-read-more:hover { color:var(--orange); }.press-card p { color:var(--muted); margin:0 0 13px; max-width:720px; }.press-read-more { color:var(--ink); font-size:13px; font-weight:700; text-decoration:none; }.press-hero { min-height:390px; position:relative; overflow:hidden; color:#fff; background:#233f3c; }.press-hero-sky { position:absolute; inset:0; background:linear-gradient(150deg,#102e34 0%,#2d5d50 48%,#c08c54 100%); }.press-hero--image .press-hero-sky { background-image:linear-gradient(90deg,rgba(10,24,23,.78) 0%,rgba(10,24,23,.52) 38%,rgba(10,24,23,.17) 72%,rgba(10,24,23,.24) 100%),var(--press-hero-image); background-position:center; background-size:cover; }.press-hero-sky:after { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at 75% 20%,rgba(247,207,135,.5),transparent 32%),linear-gradient(0deg,rgba(9,20,20,.5),transparent 60%); }.press-hero-ridge { position:absolute; left:-5%; right:-5%; bottom:-10%; height:45%; background:#172e2a; clip-path:polygon(0 72%,12% 47%,24% 69%,39% 30%,54% 65%,68% 38%,83% 63%,100% 36%,100% 100%,0 100%); }.press-hero--image .press-hero-ridge,.press-hero--image .press-hero-grid { display:none; }.press-hero-grid { position:absolute; inset:auto 0 0; height:37%; opacity:.11; 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; }.press-hero-content { position:relative; z-index:1; padding:85px 0 72px; }.press-hero .section-kicker { color:#f1b16e; }.press-hero h1 { font:600 clamp(42px,6vw,74px)/.94 'Barlow Condensed',Arial,sans-serif; letter-spacing:.01em; margin:16px 0 0; max-width:900px; text-shadow:3px 4px 0 rgba(0,0,0,.14); }.press-release-layout { display:grid; grid-template-columns:220px minmax(0,700px); gap:min(9vw,110px); padding:68px 0 42px; }.press-meta { border-top:2px solid var(--orange); padding-top:13px; }.press-meta div + div { border-top:1px solid var(--line); margin-top:18px; padding-top:16px; }.press-meta span { display:block; margin-bottom:4px; }.press-meta time,.press-meta strong { display:block; font-size:14px; line-height:1.35; }.press-body { color:#45574f; font-size:16px; }.press-body > :first-child { margin-top:0; }.press-body p { margin:0 0 1.25em; }.press-body h2,.press-body h3 { color:var(--ink); font-family:'Barlow Condensed',Arial,sans-serif; line-height:1; }.press-body h2 { font-size:35px; margin:1.35em 0 .4em; }.press-body h3 { font-size:26px; margin:1.4em 0 .45em; }.press-dateline { color:var(--ink); letter-spacing:.04em; }.press-return { padding:0 0 78px; }.press-return a { color:var(--ink); font-size:13px; font-weight:700; text-decoration:none; }.press-return a:hover { color:var(--orange); }
@media (max-width:1000px) { .header-inner { grid-template-columns:auto auto; gap:14px 24px; padding:16px 0; }.site-nav { grid-column:1 / -1; grid-row:2; justify-content:flex-start; }.header-contact { grid-column:2; grid-row:1; justify-self:end; } }
@media (max-width:850px) { .service-grid { grid-template-columns:repeat(3,1fr); row-gap:40px; }.about-grid,.corporate-grid { grid-template-columns:1fr; gap:35px; }.corporate-footer { grid-template-columns:1fr; gap:36px; }.footer-links { max-width:640px; }.corporate-cards { grid-template-columns:1fr; gap:28px; }.corporate-cards article { padding-right:0; }.contact-options { margin:60px auto; }.press-release-layout,.job-detail-layout { grid-template-columns:1fr; gap:34px; }.press-meta,.job-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }.press-meta div + div,.job-meta div + div { border-top:0; margin:0; padding:0; } }
@media (max-width:560px) { .shell { width:min(100% - 32px,1120px); }.header-inner { min-height:0; }.site-nav { gap:18px; max-width:100%; overflow-x:auto; padding-bottom:2px; }.site-nav a { font-size:10px; }.header-contact span:last-child { display:none; }.header-contact { font-size:0; }.header-contact .phone-icon { font-size:21px; margin:0; }.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; }.corporate-hero { padding:70px 0 76px; }.corporate-section { padding:65px 0; }.business-grid,.contact-options { grid-template-columns:1fr; }.contact-options article { min-height:0; padding:32px; }.footer-links { grid-template-columns:repeat(2,1fr); row-gap:22px; }.footer-bottom { align-items:flex-start; flex-direction:column; gap:10px; padding:18px 0; }.job-card { align-items:flex-start; grid-template-columns:1fr; }.job-card-action { align-items:flex-start; }.job-apply { align-items:flex-start; flex-direction:column; }.press-index { padding:64px 0 70px; }.press-hero { min-height:340px; }.press-hero-content { padding:68px 0 62px; }.press-release-layout,.job-detail-layout { padding-top:48px; }.press-meta,.job-meta { grid-template-columns:1fr; gap:16px; }.press-meta div + div,.job-meta div + div { border-top:1px solid var(--line); padding-top:16px; } }
