:root {
  --navy: #17164f;
  --navy-deep: #10153a;
  --red: #c4202b;
  --orange: #e44824;
  --yellow: #f3c623;
  --ink: #1e2632;
  --muted: #616b78;
  --line: #e2e5e9;
  --paper: #ffffff;
  --off: #f4f5f7;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--ink); background:var(--paper); line-height:1.55; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
.container { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.site-header { position:sticky; top:0; z-index:30; background:rgba(255,255,255,.97); border-bottom:1px solid rgba(23,22,79,.09); backdrop-filter:blur(10px); }
.nav-wrap { min-height:104px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.brand { display:flex; align-items:center; flex:0 0 auto; }
.brand img { width:285px; height:86px; object-fit:contain; object-position:left center; }
.nav { display:flex; gap:28px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.nav a { padding:40px 0 36px; border-bottom:3px solid transparent; }
.nav a:hover { border-color:var(--red); }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 22px; border:1px solid transparent; font-weight:800; font-size:12px; text-transform:uppercase; letter-spacing:.05em; cursor:pointer; }
.btn-red { background:var(--red); color:white; }
.btn-red:hover { background:#a81822; }
.btn-outline { border-color:rgba(255,255,255,.7); color:white; }
.hero { position:relative; min-height:610px; display:flex; align-items:center; background-image:url('assets/austin-gravity.jpg'); background-size:cover; background-position:center 52%; overflow:hidden; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(16,21,58,.97) 0%, rgba(16,21,58,.91) 38%, rgba(16,21,58,.55) 64%, rgba(16,21,58,.18) 100%); }
.hero::after { content:""; position:absolute; left:0; bottom:0; width:100%; height:6px; background:linear-gradient(90deg,var(--navy) 0 35%,var(--red) 35% 68%,var(--yellow) 68% 100%); }
.hero-content { position:relative; z-index:2; color:white; padding:90px 0; }
.eyebrow { margin:0 0 12px; color:#f2d273; font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.15em; }
.eyebrow.dark { color:var(--red); }
.hero h1 { margin:0; max-width:860px; font-size:clamp(48px,6vw,78px); line-height:.98; letter-spacing:-.045em; }
.hero-copy { max-width:680px; margin:24px 0 0; font-size:18px; color:rgba(255,255,255,.92); }
.hero-actions { display:flex; gap:14px; margin-top:32px; }
.statement-strip { background:var(--navy-deep); color:white; }
.statement-grid { min-height:78px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; text-align:center; }
.statement-grid span { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; border-right:1px solid rgba(255,255,255,.18); }
.statement-grid span:last-child { border-right:0; }
.services { padding:86px 0; }
.section-intro { max-width:820px; margin-bottom:42px; }
h2 { margin:0; color:var(--navy); font-size:clamp(34px,4vw,50px); line-height:1.05; letter-spacing:-.035em; }
.section-intro > p:last-child { margin-top:18px; color:var(--muted); font-size:17px; }
.service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--line); }
.service-grid article { position:relative; padding:34px 34px 38px 0; border-bottom:1px solid var(--line); }
.service-grid article:nth-child(odd) { padding-right:48px; border-right:1px solid var(--line); }
.service-grid article:nth-child(even) { padding-left:48px; }
.service-number { color:var(--red); font-size:12px; font-weight:900; letter-spacing:.12em; }
.service-grid h3 { margin:8px 0 10px; color:var(--navy); font-size:20px; }
.service-grid p { margin:0; color:var(--muted); font-size:15px; }
.projects { background:var(--off); padding:82px 0 92px; }
.section-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:30px; }
.section-head > a, .text-link { color:var(--red); font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.project-card { background:white; border:1px solid var(--line); overflow:hidden; }
.project-image { display:block; height:245px; overflow:hidden; background:#ddd; }
.project-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.project-image:hover img { transform:scale(1.025); }
.project-body { padding:24px; }
.project-type { margin:0 0 6px; color:var(--red)!important; text-transform:uppercase; letter-spacing:.08em; font-size:11px!important; font-weight:850; }
.project-body h3 { margin:0 0 10px; color:var(--navy); font-size:20px; }
.project-body p { margin:0 0 18px; color:var(--muted); font-size:14px; }
.about { padding:84px 0; background:var(--navy); color:white; }
.about-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:70px; }
.about h2 { color:white; }
.about-grid > div:last-child { border-left:2px solid var(--red); padding-left:34px; }
.about-grid p { margin-top:0; color:rgba(255,255,255,.86); font-size:18px; }
.inquiry { padding:88px 0; background:white; }
.inquiry-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.inquiry-grid > div > p:not(.eyebrow) { color:var(--muted); font-size:17px; }
.inquiry-note { padding-top:18px; border-top:1px solid var(--line); font-size:14px!important; }
.inquiry-form { background:var(--off); border-top:5px solid var(--red); padding:30px; }
.inquiry-form label { display:block; margin-bottom:17px; color:var(--navy); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { width:100%; margin-top:7px; border:1px solid #cfd4da; background:white; padding:12px 13px; font:inherit; color:var(--ink); outline:none; }
.inquiry-form input:focus, .inquiry-form select:focus, .inquiry-form textarea:focus { border-color:var(--navy); box-shadow:0 0 0 2px rgba(23,22,79,.08); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.inquiry-form small { display:block; margin-top:12px; color:var(--muted); font-size:11px; }
.contact { padding:66px 0; background:var(--off); border-top:1px solid var(--line); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; }
.contact-details { display:grid; grid-template-columns:1fr; gap:12px; }
.contact-details p { margin:0; color:var(--muted); }
.contact-details strong { color:var(--navy); }
.contact-details a { color:var(--navy); font-weight:750; }
footer { background:#090d2a; color:rgba(255,255,255,.72); font-size:12px; }
.footer-wrap { min-height:92px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.footer-wrap img { width:190px; height:66px; object-fit:contain; background:white; padding:5px 7px; }
/* Project pages */
.project-hero { background:var(--navy); color:white; padding:66px 0 50px; }
.project-hero h1 { margin:0; font-size:clamp(40px,5vw,62px); line-height:1; letter-spacing:-.04em; }
.project-hero p { max-width:720px; color:rgba(255,255,255,.82); font-size:17px; }
.project-page { padding:64px 0 90px; }
.project-meta { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:42px; }
.project-meta div { padding:20px 24px 20px 0; }
.project-meta strong { display:block; color:var(--navy); text-transform:uppercase; font-size:11px; letter-spacing:.06em; }
.project-meta span { color:var(--muted); }
.project-story { display:grid; grid-template-columns:.9fr 1.1fr; gap:54px; margin-bottom:42px; }
.project-story p { color:var(--muted); font-size:17px; }
.gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.gallery img { width:100%; height:360px; object-fit:cover; border:1px solid var(--line); }
.back-link { display:inline-block; margin-top:38px; color:var(--red); font-size:12px; font-weight:850; text-transform:uppercase; }
@media (max-width:960px) {
  .nav { display:none; }
  .project-grid { grid-template-columns:1fr 1fr; }
  .project-card:last-child { grid-column:1/-1; max-width:560px; }
  .inquiry-grid, .about-grid, .project-story { grid-template-columns:1fr; gap:34px; }
  .about-grid > div:last-child { border-left:0; border-top:2px solid var(--red); padding:28px 0 0; }
}
@media (max-width:700px) {
  .container { width:min(100% - 28px,1180px); }
  .nav-wrap { min-height:82px; }
  .brand img { width:205px; height:64px; }
  .nav-cta { display:none; }
  .hero { min-height:640px; background-position:62% center; }
  .hero-overlay { background:rgba(16,21,58,.84); }
  .hero h1 { font-size:46px; }
  .hero-actions { flex-direction:column; align-items:flex-start; }
  .statement-grid { grid-template-columns:1fr 1fr; padding:16px 0; gap:16px 0; }
  .statement-grid span:nth-child(2) { border-right:0; }
  .service-grid { grid-template-columns:1fr; }
  .service-grid article, .service-grid article:nth-child(odd), .service-grid article:nth-child(even) { padding:28px 0; border-right:0; }
  .section-head { flex-direction:column; align-items:flex-start; gap:16px; }
  .project-grid, .contact-grid, .form-row, .project-meta, .gallery { grid-template-columns:1fr; }
  .project-card:last-child { grid-column:auto; max-width:none; }
  .gallery img { height:auto; }
  .footer-wrap { flex-direction:column; justify-content:center; text-align:center; padding:20px 0; }
}
