/*
Theme Name: Shoalhaven Developments
Author: CC Solutions
Version: 1.0.0
Text Domain: shoalhaven
*/

:root { --ink:#262626; --paper:#f5f3ef; --gold:#b49a71; --white:#fff; }
* { 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.6; }
a { color:inherit; }
img { max-width:100%; height:auto; }
.site-header { position:fixed; z-index:50; inset:0 0 auto; display:flex; align-items:center; justify-content:space-between; padding:20px 4vw; background:rgba(22,22,22,.88); color:#fff; backdrop-filter:blur(9px); }
.brand img { width:180px; display:block; }
.nav { display:flex; gap:25px; align-items:center; }
.nav a { text-decoration:none; text-transform:uppercase; letter-spacing:.14em; font-size:12px; }
.menu-toggle { display:none; background:none; border:1px solid #fff; color:#fff; padding:8px 12px; }
.hero { min-height:100vh; display:grid; place-items:center; text-align:center; color:#fff; background:linear-gradient(rgba(0,0,0,.25),rgba(0,0,0,.48)),url('assets/home_background_004.jpg') center/cover; padding:120px 7vw 70px; }
.hero img { width:min(560px,80vw); filter:drop-shadow(0 3px 15px rgba(0,0,0,.3)); }
.hero p { margin:25px auto 0; max-width:620px; text-transform:uppercase; letter-spacing:.22em; font-size:13px; }
.section { padding:90px 6vw; }
.section--dark { background:#242424; color:#fff; }
.section-title { margin:0 0 42px; font-size:clamp(30px,5vw,58px); font-weight:300; text-transform:lowercase; letter-spacing:.04em; }
.intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:7vw; }
.intro-copy { max-width:620px; font-size:18px; }
.button { display:inline-block; margin-top:20px; border:1px solid currentColor; padding:11px 20px; text-decoration:none; text-transform:uppercase; letter-spacing:.12em; font-size:11px; }
.project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.project-card { position:relative; min-height:360px; overflow:hidden; background:#333; color:#fff; text-decoration:none; }
.project-card img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .45s; }
.project-card:hover img { transform:scale(1.04); }
.project-card::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 40%,rgba(0,0,0,.75)); }
.project-card span { position:absolute; z-index:2; left:25px; bottom:20px; font-size:23px; text-transform:lowercase; letter-spacing:.04em; }
.content-wrap { max-width:1100px; margin:auto; padding:150px 6vw 90px; }
.project-hero { min-height:70vh; background-position:center; background-size:cover; display:flex; align-items:flex-end; padding:70px 6vw; color:#fff; position:relative; }
.project-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(transparent,rgba(0,0,0,.75)); }
.project-hero h1 { z-index:1; font-size:clamp(42px,8vw,90px); font-weight:300; margin:0; }
.project-copy { max-width:1100px; margin:auto; padding:75px 6vw; display:grid; grid-template-columns:minmax(0,760px) auto; justify-content:space-between; gap:50px; font-size:19px; }
.project-copy p { margin-top:0; }
.eyebrow { color:#8a7554; text-transform:uppercase; letter-spacing:.18em; font-size:11px; }
.project-year { font-size:24px; color:#777; white-space:nowrap; }
.gallery { padding:0 3vw 80px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.gallery a { display:block; background:#ddd; overflow:hidden; }
.gallery img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; transition:transform .35s; }
.gallery a:hover img { transform:scale(1.015); }
.project-nav { padding:30px 6vw; background:#1d1d1d; color:#fff; display:grid; grid-template-columns:1fr auto 1fr; gap:20px; }
.project-nav span:last-child { text-align:right; }
.project-nav a { text-decoration:none; text-transform:uppercase; letter-spacing:.1em; font-size:11px; }
.page-copy { max-width:780px; font-size:19px; }
.page-about { min-height:85vh; background:linear-gradient(90deg,rgba(245,243,239,.98) 0 55%,rgba(245,243,239,.2)),url('assets/about_background.jpg') right center/cover fixed; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:7vw; }
.contact-form input,.contact-form textarea { width:100%; padding:14px; margin:0 0 14px; border:1px solid #bbb; background:#fff; font:inherit; }
.contact-form button { padding:13px 25px; background:var(--ink); color:#fff; border:0; text-transform:uppercase; letter-spacing:.12em; }
.site-footer { padding:35px 6vw; background:#171717; color:#aaa; display:flex; justify-content:space-between; font-size:12px; }
@media(max-width:850px){.project-grid{grid-template-columns:1fr 1fr}.intro,.contact-grid,.project-copy{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.menu-toggle{display:block}.nav{display:none;position:absolute;top:75px;left:0;right:0;background:#222;padding:25px;flex-direction:column}.nav.open{display:flex}.page-about{background:var(--paper)}}
@media(max-width:560px){.project-grid{grid-template-columns:1fr}.site-header{padding:16px 20px}.brand img{width:145px}.section{padding:70px 24px}.site-footer{display:block}}
