:root { --ink:#183b32; --ink-2:#102a23; --paper:#f5f4ef; --white:#fffefb; --accent:#e26546; --line:#cbd5ce; --muted:#52665e; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:Arial, Helvetica, sans-serif; line-height:1.5; }
a { color:inherit; text-decoration:none; }
img { display:block; max-width:100%; }
.page-width { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.site-header { position:sticky; z-index:10; top:0; background:rgba(255,254,251,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(10px); }
.header-inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:10px; flex:none; font-size:15px; font-weight:800; letter-spacing:1px; }
.brand > span:last-child span { color:var(--accent); }
.brand-mark { width:27px; height:27px; display:inline-block; background:linear-gradient(135deg, var(--ink) 0 49%, transparent 49% 57%, var(--accent) 57% 100%); }
nav { display:flex; align-items:center; gap:23px; margin-left:auto; color:#51635c; font-size:13px; font-weight:700; }
nav a:hover,.header-email:hover { color:var(--accent); }
.header-actions { display:flex; align-items:center; gap:16px; flex:none; font-size:13px; font-weight:700; }
.header-email { color:#51635c; }
.header-cta { display:inline-flex; align-items:center; gap:11px; min-height:38px; padding:0 13px; color:#fff; background:var(--ink); }
.header-cta:hover { background:var(--accent); }
.header-cta span,.button span { font-size:18px; }
.hero { position:relative; min-height:670px; overflow:hidden; color:#fff; background:var(--ink-2); }
.hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-scrim { position:absolute; inset:0; background:linear-gradient(90deg, rgba(13,43,35,.94) 0%, rgba(13,43,35,.78) 38%, rgba(13,43,35,.14) 76%); }
.hero-content { position:relative; z-index:1; padding:124px 0 182px; }
.eyebrow { margin:0 0 15px; color:#f2a981; font-size:11px; font-weight:800; letter-spacing:1.4px; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:800px; margin-bottom:23px; font-size:clamp(44px, 6vw, 78px); line-height:1.02; letter-spacing:0; }
h2 { margin-bottom:0; font-size:clamp(32px, 4.1vw, 54px); line-height:1.08; letter-spacing:0; }
.hero-content > p:not(.eyebrow) { max-width:560px; margin-bottom:31px; color:#edf5f0; font-size:18px; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:19px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:15px; min-height:49px; padding:0 19px; color:var(--ink); background:#fff; font-size:13px; font-weight:800; }
.button:hover { color:#fff; background:var(--accent); }
.hero-email { color:#fff; font-size:14px; font-weight:700; text-decoration:underline; text-decoration-color:rgba(255,255,255,.45); text-underline-offset:5px; }
.hero-rail { position:absolute; z-index:1; right:0; bottom:0; left:0; display:grid; grid-template-columns:repeat(3, 1fr); border-top:1px solid rgba(255,255,255,.28); }
.hero-rail div { display:flex; gap:12px; align-items:center; min-height:74px; padding-right:24px; border-right:1px solid rgba(255,255,255,.28); color:#f3f7f4; font-size:13px; }
.hero-rail div + div { padding-left:24px; }
.hero-rail div:last-child { border-right:0; }
.hero-rail span { color:#f2a981; font-size:11px; font-weight:800; }
.section { padding:112px 0; }
.split-heading { display:grid; grid-template-columns:minmax(0, 1fr) minmax(300px, .7fr); gap:70px; align-items:end; padding-bottom:46px; }
.split-heading > p { margin:0 0 5px; color:var(--muted); font-size:16px; }
.scope-grid { display:grid; grid-template-columns:repeat(4, 1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.scope-grid article { min-height:292px; padding:28px; background:var(--white); border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.scope-grid article:hover { background:#edf2eb; }
.scope-grid span { color:var(--accent); font-size:12px; font-weight:800; }
.scope-grid h3 { margin:42px 0 11px; font-size:22px; line-height:1.17; letter-spacing:0; }
.scope-grid p { margin:0; color:var(--muted); font-size:14px; }
.control-band { padding:112px 0; color:#ecf5ef; background:var(--ink); }
.control-layout { display:grid; grid-template-columns:.76fr 1.24fr; gap:82px; align-items:start; }
.control-copy .eyebrow { color:#f2a981; }
.control-copy h2 { color:#fff; }
.control-copy > p:not(.eyebrow) { max-width:410px; margin:24px 0 0; color:#c1d0c6; font-size:16px; }
.control-table { border-top:1px solid #5b786b; }
.control-table > div { display:grid; grid-template-columns:.68fr 1.35fr .92fr; gap:23px; padding:17px 0; border-bottom:1px solid #5b786b; color:#c7d4cc; font-size:14px; }
.control-table > div > span:first-child { color:#fff; font-weight:800; }
.control-table .control-head { padding:10px 0; color:#f3b59b; font-size:10px; font-weight:800; letter-spacing:1px; }
.control-table .control-head span:first-child { color:#f3b59b; }
.project-image-band { padding:112px 0; background:#e4ebe4; }
.project-image-layout { display:grid; grid-template-columns:1.12fr .88fr; align-items:center; }
.project-image-layout figure { position:relative; min-height:520px; margin:0; overflow:hidden; }
.project-image-layout figure img { width:100%; height:100%; object-fit:cover; }
.project-image-layout figcaption { position:absolute; right:18px; bottom:15px; left:18px; color:rgba(255,255,255,.84); font-size:11px; }
.project-image-layout > div { padding:70px; }
.project-image-layout > div > p:not(.eyebrow) { margin:24px 0 27px; color:var(--muted); font-size:16px; }
.check-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.check-list li { position:relative; padding:13px 0 13px 19px; border-bottom:1px solid var(--line); color:#344f44; font-size:14px; }
.check-list li::before { position:absolute; top:20px; left:0; width:7px; height:7px; content:""; background:var(--accent); }
.boundaries { display:grid; grid-template-columns:.88fr 1.12fr; gap:82px; align-items:start; }
.boundary-list { border-top:1px solid var(--line); }
.boundary-list > div { display:grid; grid-template-columns:155px 1fr; gap:30px; padding:23px 0; border-bottom:1px solid var(--line); }
.boundary-list span { color:var(--accent); font-size:10px; font-weight:800; letter-spacing:1px; }
.boundary-list p { margin:0; color:var(--muted); font-size:16px; }
.sequence-band { padding:112px 0; color:#ecf4ed; background:#27483d; }
.compact-heading { max-width:760px; margin-bottom:47px; }
.compact-heading .eyebrow { color:#f3b59b; }
.compact-heading h2 { color:#fff; }
.sequence-list { display:grid; grid-template-columns:repeat(4, 1fr); margin:0; padding:0; list-style:none; border-top:1px solid #6b877b; border-left:1px solid #6b877b; }
.sequence-list li { min-height:260px; padding:25px; border-right:1px solid #6b877b; border-bottom:1px solid #6b877b; }
.sequence-list > li > span { display:block; margin-bottom:44px; color:#f3b59b; font-size:11px; font-weight:800; }
.sequence-list strong { display:block; margin-bottom:10px; color:#fff; font-size:20px; line-height:1.18; }
.sequence-list p { margin:0; color:#c6d5cc; font-size:14px; }
.contact-band { padding:96px 0; color:#fff; background:var(--accent); }
.contact-layout { display:grid; grid-template-columns:1fr .75fr; gap:80px; align-items:end; }
.contact-band .eyebrow { color:#ffe2d9; }
.contact-band h2 { max-width:680px; }
.contact-actions { align-self:end; }
.contact-actions .button { color:var(--ink); background:#fff; }
.contact-actions .button:hover { color:#fff; background:var(--ink); }
.contact-email { display:block; width:max-content; max-width:100%; margin-top:16px; color:#fff; font-size:15px; font-weight:800; text-decoration:underline; text-underline-offset:5px; }
.contact-actions p { max-width:420px; margin:19px 0 0; color:#ffe9e3; font-size:13px; }
footer { padding:31px 0; color:#c5d2ca; background:#102a23; }
.footer-top { display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:25px; align-items:center; font-size:12px; }
.footer-brand { color:#fff; font-size:13px; font-weight:800; letter-spacing:1px; }
footer a { color:#fff; }
footer a:hover { color:#f3b59b; }
.footer-legal { display:inline-block; margin-top:4px; color:#c5d2ca; font-size:11px; }
.legal-main { padding:94px 0 112px; background:#fffefb; }
.legal-heading { display:grid; grid-template-columns:minmax(0, 1fr) minmax(260px, .5fr); gap:72px; padding-bottom:56px; border-bottom:1px solid var(--line); }
.legal-heading h1 { max-width:800px; margin:0; color:var(--ink); font-size:clamp(42px, 5.5vw, 70px); }
.legal-heading p:not(.eyebrow) { align-self:end; margin:0; color:var(--muted); font-size:16px; }
.legal-layout { display:grid; grid-template-columns:205px minmax(0, 1fr); gap:70px; padding-top:54px; }
.legal-nav { display:block; align-self:start; position:sticky; top:104px; border-top:1px solid var(--line); }
.legal-nav a { display:block; padding:11px 0; border-bottom:1px solid var(--line); color:#53675f; font-size:13px; font-weight:700; }
.legal-nav a:hover { color:var(--accent); }
.legal-content { max-width:780px; }
.legal-section { padding:0 0 38px; margin-bottom:38px; border-bottom:1px solid var(--line); scroll-margin-top:106px; }
.legal-section:last-child { margin-bottom:0; }
.legal-section h2 { margin:0 0 17px; color:var(--ink); font-size:30px; }
.legal-section h3 { margin:23px 0 8px; color:#29473c; font-size:18px; }
.legal-section p,.legal-section li { color:var(--muted); font-size:15px; }
.legal-section p:last-child { margin-bottom:0; }
.legal-section ul { padding-left:21px; margin:14px 0; }
.legal-section a { color:#c85f3c; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.legal-date { color:#5e746a; font-size:13px; font-weight:700; }
@media (max-width:980px) { nav { display:none; } .header-inner { gap:18px; } .control-layout,.project-image-layout,.boundaries,.contact-layout,.legal-heading,.legal-layout { grid-template-columns:1fr; gap:48px; } .project-image-layout > div { padding:65px 0 0; } .sequence-list { grid-template-columns:repeat(2, 1fr); } .contact-actions { align-self:start; } .legal-nav { position:static; display:grid; grid-template-columns:repeat(2, 1fr); } }
@media (max-width:760px) { .page-width { width:min(100% - 32px, 1180px); } .header-inner { min-height:65px; } .header-email { display:none; } .header-cta { min-height:36px; padding:0 11px; font-size:12px; } .brand { font-size:13px; } .brand-mark { width:25px; height:25px; } .hero { min-height:670px; } .hero-scrim { background:linear-gradient(90deg, rgba(13,43,35,.92), rgba(13,43,35,.4)); } .hero-content { padding:90px 0 160px; } h1 { font-size:43px; } h2 { font-size:34px; } .hero-content > p:not(.eyebrow) { font-size:16px; } .hero-rail { grid-template-columns:1fr; bottom:18px; border-top:0; } .hero-rail div { min-height:auto; padding:5px 0; border-right:0; } .hero-rail div + div { padding-left:0; } .section,.control-band,.project-image-band,.sequence-band,.legal-main { padding:76px 0; } .split-heading { grid-template-columns:1fr; gap:21px; padding-bottom:32px; } .scope-grid,.sequence-list { grid-template-columns:1fr; } .scope-grid article { min-height:0; padding:24px; } .scope-grid h3 { margin-top:26px; } .control-table > div { grid-template-columns:.6fr 1.25fr; gap:12px; } .control-table > div > span:last-child { grid-column:2; } .control-table .control-head > span:last-child { display:none; } .project-image-layout { width:100%; } .project-image-layout figure { min-height:365px; } .project-image-layout > div { width:min(100% - 32px, 1180px); margin:0 auto; padding:56px 0 0; } .boundaries,.contact-layout,.legal-heading,.legal-layout { gap:35px; } .boundary-list > div { grid-template-columns:1fr; gap:8px; } .sequence-list li { min-height:0; } .sequence-list > li > span { margin-bottom:25px; } .contact-band { padding:76px 0; } .footer-top { grid-template-columns:1fr; gap:9px; } .legal-heading { padding-bottom:35px; } .legal-nav { grid-template-columns:1fr; } .legal-section h2 { font-size:27px; } }
