:root { --ink:#1e2924; --forest:#194d3d; --deep:#102e25; --clay:#b34f37; --paper:#f6f3ec; --mist:#e8eee6; --line:#c8d0c8; --serif:'Playfair Display',Georgia,serif; --sans:'DM Sans',Arial,sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); line-height:1.55; }
.container { width:min(1140px,calc(100% - 48px)); margin:auto; }
.site-header { border-bottom:1px solid var(--line); background:var(--paper); }
.header-inner { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:flex; align-items:center; gap:11px; color:var(--ink); text-decoration:none; }
.brand img { width:44px; height:44px; object-fit:contain; }.brand span { display:grid; line-height:1.05; }.brand strong { font-size:14px; }.brand small { font-size:12px; color:#627168; margin-top:3px; }
.site-nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:22px; }.site-nav a { color:var(--ink); text-decoration:none; font-size:14px; }.site-nav a[aria-current="page"] { color:var(--forest); font-weight:700; }.site-nav .nav-contact { border:1px solid var(--forest); padding:9px 15px; color:var(--forest); }
.page-hero { padding:86px 0 76px; background:var(--mist); border-bottom:1px solid var(--line); }.eyebrow { margin:0 0 16px; color:var(--clay); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.page-hero h1,.section-heading h2 { margin:0; font-family:var(--serif); line-height:1.02; letter-spacing:-.035em; }.page-hero h1 { max-width:760px; font-size:clamp(44px,6vw,76px); }.page-hero p:last-child { max-width:650px; margin:22px 0 0; color:#536359; font-size:18px; }
.section { padding:92px 0; }.section-heading { max-width:720px; margin-bottom:44px; }.section-heading h2 { font-size:clamp(34px,4vw,52px); }.section-heading p:last-child { color:#536359; font-size:17px; }
.objective-list { border-top:1px solid var(--line); }.objective { display:grid; grid-template-columns:86px 1fr; gap:24px; padding:30px 0; border-bottom:1px solid var(--line); }.objective span { color:var(--clay); font-size:12px; font-weight:700; }.objective h3 { margin:0 0 7px; font:700 28px/1.1 var(--serif); }.objective p { max-width:690px; margin:0; color:#536359; }
.project-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }.project-card { background:#fff; border:1px solid var(--line); display:flex; flex-direction:column; }.project-card img { width:100%; height:260px; object-fit:cover; }.project-card-content { padding:28px; }.project-card .tag { margin:0 0 12px; color:var(--clay); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.project-card h2 { margin:0 0 12px; font:700 31px/1.1 var(--serif); }.project-card p:last-child { margin:0; color:#536359; }
.gallery-intro { background:var(--deep); color:#fff; }.gallery-intro p { margin:0; max-width:650px; color:#d8e2db; font-size:18px; }.gallery { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:310px 310px; gap:20px; }.gallery figure { position:relative; overflow:hidden; margin:0; background:#d4dfd3; }.gallery figure:first-child { grid-row:span 2; }.gallery img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .25s ease; }.gallery figure:hover img { transform:scale(1.025); }.gallery figcaption { position:absolute; left:0; right:0; bottom:0; padding:18px; color:#fff; background:linear-gradient(transparent,rgba(16,46,37,.9)); font-size:14px; }
.footer { padding:28px 0; background:var(--deep); color:#d8e2db; }.footer .container { display:flex; justify-content:space-between; gap:20px; }.footer a { color:#fff; }
@media(max-width:760px) { .container { width:min(100% - 36px,1140px); }.header-inner { padding:18px 0; align-items:flex-start; }.site-nav { gap:12px 16px; }.page-hero,.section { padding:64px 0; }.objective { grid-template-columns:1fr; gap:8px; }.project-grid { grid-template-columns:1fr; }.gallery { grid-template-columns:1fr; grid-template-rows:340px 250px 250px; }.gallery figure:first-child { grid-row:auto; }.footer .container { display:block; }.footer a { display:inline-block; margin-top:10px; } }

/* Refined interaction and depth for the supporting pages. */
.site-header { position:sticky; top:0; z-index:5; background:rgba(246,243,236,.94); backdrop-filter:blur(12px); }
.site-nav a { transition:color .2s ease,background .2s ease; }.site-nav a:hover,.site-nav a:focus-visible { color:var(--clay); }.site-nav .nav-contact:hover,.site-nav .nav-contact:focus-visible { background:var(--forest); color:#fff; }
.page-hero { padding-top:96px; padding-bottom:86px; background:linear-gradient(115deg,var(--mist),#f5f1e9); }
.objective { transition:padding .2s ease,background .2s ease; }.objective:hover { padding-left:16px; background:#fff; }
.project-card { overflow:hidden; scroll-margin-top:115px; transition:transform .25s ease,box-shadow .25s ease; }.project-card:hover { transform:translateY(-5px); box-shadow:0 14px 30px rgba(16,46,37,.12); }.project-card img { transition:transform .3s ease; }.project-card:hover img { transform:scale(1.035); }
.gallery figure { box-shadow:0 7px 20px rgba(16,46,37,.1); }.gallery figcaption { padding:24px 20px 18px; }.footer { margin-top:0; }
.gallery { grid-template-columns:repeat(4,1fr); grid-template-rows:none; grid-auto-rows:225px; grid-auto-flow:dense; }
.gallery figure:first-child { grid-column:span 2; grid-row:span 2; }.gallery figure:nth-child(2) { grid-row:span 2; }.gallery figure:nth-child(5) { grid-column:span 2; }.gallery figure:nth-child(7) { grid-column:span 2; }.gallery figure:nth-child(9) { grid-row:span 2; }
@media(max-width:760px) { .header-inner { display:block; }.site-nav { justify-content:flex-start; margin-top:15px; }.page-hero { padding-top:70px; padding-bottom:64px; }.objective:hover { padding-left:0; }.gallery { grid-template-columns:1fr; grid-template-rows:none; grid-auto-rows:260px; }.gallery figure:first-child,.gallery figure:nth-child(2),.gallery figure:nth-child(5),.gallery figure:nth-child(7),.gallery figure:nth-child(9) { grid-column:auto; grid-row:auto; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } }
