
:root{
  --navy:#061725;--navy-2:#0a2234;--navy-3:#102f45;
  --gold:#c99a5b;--gold-2:#e4b875;--cream:#f5f3ee;
  --ink:#10273a;--muted:#687782;--white:#fff;--line:#dfe3e4;
  --max:1220px;--shadow:0 20px 60px rgba(4,20,32,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 52px));margin:auto}
.skip{position:absolute;left:-9999px}
.skip:focus{left:15px;top:15px;z-index:99;background:white;padding:10px 14px}

header{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(5,21,34,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.1)}
.nav{height:78px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:13px;margin-right:auto;color:white;min-width:max-content}
.mark{width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(228,184,117,.45);font-family:Georgia,serif;font-size:27px;color:var(--gold-2);font-weight:700}
.brand strong{font-family:Georgia,serif;font-size:17px;letter-spacing:1.3px;font-weight:400}
.brand small{display:block;font-size:8.5px;letter-spacing:1.65px;color:#c4cdd2;margin-top:3px}
.navlinks{display:flex;align-items:center;gap:20px}
.navlinks a{font-size:10px;text-transform:uppercase;letter-spacing:.78px;color:#e8eef1;position:relative;padding:30px 0}
.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:1px;background:var(--gold-2);transition:.25s}
.navlinks a:hover,.navlinks a.active{color:var(--gold-2)}
.navlinks a:hover:after,.navlinks a.active:after{right:0}
.nav-meta,.nav-cta{border-left:1px solid rgba(255,255,255,.18);padding-left:18px;color:var(--gold-2);font-size:11px;white-space:nowrap}
.menu{display:none;border:0;background:none;color:white;font-size:25px;cursor:pointer}

.kicker,.eyebrow{font-size:10px;letter-spacing:3.4px;text-transform:uppercase;color:var(--gold-2);font-weight:800}
h1,h2,h3{font-family:Georgia,serif;font-weight:400}
h1{font-size:clamp(52px,6.5vw,90px);line-height:.96;margin:18px 0 22px;letter-spacing:-1.6px}
h2{font-size:clamp(38px,4.4vw,59px);line-height:1.02;margin:14px 0 20px;letter-spacing:-.6px}
h3{font-size:25px;line-height:1.12}
.lead{font-size:17px;color:var(--muted);max-width:720px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 21px;border:1px solid var(--gold);text-transform:uppercase;letter-spacing:1.2px;font-size:9px;font-weight:800;transition:.25s;cursor:pointer}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--gold-2);color:#12283a}
.btn.ghost{color:white;border-color:#d7e0e4;background:rgba(6,23,37,.18)}
.text-link{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:#8c6639;font-weight:800}
section{padding:96px 0}

.hero{min-height:760px;padding-top:78px;position:relative;background:var(--navy);overflow:hidden}
.hero-bg{position:absolute;inset:78px 0 0;background:linear-gradient(90deg,rgba(3,17,28,.98) 0%,rgba(3,17,28,.91) 28%,rgba(3,17,28,.68) 49%,rgba(3,17,28,.25) 72%,rgba(3,17,28,.12) 100%),linear-gradient(0deg,rgba(3,15,25,.34),rgba(3,15,25,.05)),url('/hero-v52.jpg') center 50%/cover no-repeat}
.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,15,25,.38),transparent 45%)}
.hero-inner{position:relative;z-index:2;min-height:682px;display:flex;align-items:center}
.hero-copy{max-width:690px;color:white;text-shadow:0 2px 18px rgba(0,0,0,.16)}
.hero-copy p{font-size:19px;line-height:1.58;color:#edf2f4;max-width:610px;text-shadow:0 2px 14px rgba(0,0,0,.28)}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.hero-meta{margin-top:34px;display:flex;gap:28px;align-items:center;font-size:12px;color:#e1e8eb}
.hero-meta span:first-child{color:var(--gold-2)}

.focus{background:white}
.focus-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:end}
.focus-grid{display:grid;grid-template-columns:repeat(5,1fr);margin-top:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.focus-card{padding:29px 22px;border-left:1px solid var(--line);min-height:220px}
.focus-card:first-child{border-left:0}
.icon{font-size:30px;color:var(--gold);margin-bottom:15px}
.focus-card h3{font-size:20px;margin:8px 0 12px}
.focus-card p{font-size:12px;color:var(--muted)}

.triptych{display:grid;grid-template-columns:repeat(3,1fr);padding:0;background:var(--navy)}
.tile{min-height:390px;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.tile:before{content:"";position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .7s}
.tile:hover:before{transform:scale(1.035)}
.tile:nth-child(1):before{background-image:linear-gradient(0deg,rgba(4,20,32,.93),rgba(4,20,32,.1)),url('/fasteners.jpg')}
.tile:nth-child(2):before{background-image:linear-gradient(0deg,rgba(4,20,32,.93),rgba(4,20,32,.12)),url('/projects.jpg')}
.tile:nth-child(3):before{background-image:linear-gradient(0deg,rgba(4,20,32,.93),rgba(4,20,32,.1)),url('/hero.jpg')}
.tile-content{position:relative;z-index:2;padding:38px;color:white;max-width:390px}
.tile h3{font-size:34px;margin:8px 0 18px}
.tile .text-link{color:var(--gold-2)}

.region{background:white}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}
.region-visual{min-height:390px;background:linear-gradient(0deg,rgba(4,20,32,.08),rgba(4,20,32,.08)),url('/region.jpg') center/cover;border:1px solid var(--line);box-shadow:var(--shadow)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:32px 0}
.stat{border-top:2px solid var(--gold);padding-top:12px;font-size:11px;color:var(--muted)}
.stat strong{display:block;font-family:Georgia,serif;color:var(--ink);font-size:18px;font-weight:400;margin-bottom:3px}

.projects{background:#efefec}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:42px}
.project{background:white;border:1px solid var(--line);transition:.25s}
.project:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.project-img{height:205px;background:url('/projects.jpg') center/cover}
.project:nth-child(2) .project-img{background-position:46%}
.project:nth-child(3) .project-img{background-position:right}
.project-body{padding:24px}
.tag{font-size:8px;letter-spacing:2px;color:#956c3d;text-transform:uppercase;font-weight:800}
.project h3{font-size:23px;margin:8px 0}
.project p{font-size:12px;color:var(--muted)}

.partners{background:var(--navy);color:white}
.partner-row{display:grid;grid-template-columns:1.2fr 2fr auto;gap:45px;align-items:center}
.partner-icons{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.partner-item{text-align:center;font-size:8px;letter-spacing:1px;text-transform:uppercase;color:#d5dfe4}
.partner-item b{display:block;color:var(--gold-2);font-size:25px;margin-bottom:7px}

.page-hero{padding:175px 0 95px;background:linear-gradient(90deg,rgba(5,21,34,.97),rgba(5,21,34,.68)),url('/hero.jpg') center/cover;color:white}
.page-hero h1{font-size:clamp(48px,6vw,76px);max-width:850px}
.page-hero p{font-size:18px;color:#dbe4e8;max-width:720px}
.crumb{font-size:9px;text-transform:uppercase;letter-spacing:2.2px;color:var(--gold-2)}
.content{background:white}
.content-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}
.content p{color:var(--muted)}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:35px}
.detail{border:1px solid var(--line);padding:28px;background:#fafaf8}
.detail h3{margin:10px 0}
.number-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.number-card{border-top:2px solid var(--gold);padding:20px 0}
.number-card b{font-family:Georgia,serif;font-size:38px;font-weight:400}
.number-card span{display:block;font-size:12px;color:var(--muted)}
.dark{background:var(--navy);color:white}.dark p{color:#c7d1d7}

.contact{background:var(--navy);color:white}
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px}
.contact p{color:#b9c5cb}
.contact-form{background:#0b2436;border:1px solid rgba(255,255,255,.1);padding:30px}
.contact-form label{display:block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#b9c4cb;margin-bottom:15px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:7px;background:#061725;border:1px solid #304655;color:white;padding:13px;outline:none}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form-status{font-size:11px;color:#b9c4cb;margin-top:12px}

footer{background:#03111c;color:#d6dfe3;padding:48px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:30px}
footer p,footer a{font-size:11px;color:#aebbc2}
footer h4{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--gold-2)}
.bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:35px;padding-top:17px;font-size:9px;color:#81909a;display:flex;justify-content:space-between}
.tagline{text-transform:uppercase;letter-spacing:2px;color:#b9c4cb}

.legal-page h3{margin-top:30px;margin-bottom:8px}
.legal-page p{font-size:14px}
.legal-link{color:#8c6639;text-decoration:underline;text-underline-offset:3px}
footer .bottom a{color:#9eabb3}
footer .bottom a:hover{color:#e4b875}
.contact a{color:#e4b875}

.reveal{opacity:0;transform:translateY(16px);transition:.65s ease}
.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}

@media(max-width:1050px){
 .navlinks,.nav-meta,.nav-cta{display:none}.menu{display:block}
 .navlinks.mobile-open{display:flex!important;position:absolute;top:78px;left:0;right:0;padding:22px 26px;background:#061725;flex-direction:column;align-items:flex-start;border-top:1px solid rgba(255,255,255,.1)}
 .navlinks.mobile-open a{padding:8px 0}
 .focus-grid{grid-template-columns:repeat(2,1fr)}
 .focus-card{border-top:1px solid var(--line)}
 .focus-card:nth-child(odd){border-left:0}
 .triptych{grid-template-columns:1fr}.tile{min-height:330px}
 .partner-row{grid-template-columns:1fr}.partner-icons{max-width:650px}
}
@media(max-width:760px){
 .container{width:calc(100% - 30px)}.nav{height:68px}.navlinks.mobile-open{top:68px}
 .brand strong{font-size:14px}.mark{width:40px;height:40px;font-size:23px}
 .hero{padding-top:68px;min-height:680px}.hero-bg{inset:68px 0 0;background-position:67% center}.hero-inner{min-height:612px}
 .hero-copy p{font-size:16px}.hero-meta{display:block}.hero-meta span{display:block;margin-top:8px}
 section{padding:70px 0}
 .focus-head,.two-col,.content-grid,.contact-grid{grid-template-columns:1fr;gap:35px}
 .focus-grid,.project-grid,.detail-grid,.number-grid,.stats{grid-template-columns:1fr}
 .focus-card{border-left:0}
 .partner-icons{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:1fr}.bottom{display:block}.bottom span{display:block;margin-top:7px}
 .form-row{grid-template-columns:1fr}.page-hero{padding:140px 0 70px}
}

/* v5.2 Final Production */
.hero:after{content:"";position:absolute;inset:78px 0 0;pointer-events:none;box-shadow:inset 0 -110px 120px rgba(2,13,22,.28)}
.hero-inner{z-index:3}
.hero-copy h1{max-width:650px}
@media(min-width:1100px){.hero-copy{padding-top:8px}.hero-bg{background-position:center 50%}}
@media(max-width:760px){
 .hero-bg{background:linear-gradient(90deg,rgba(3,17,28,.96),rgba(3,17,28,.72)),linear-gradient(0deg,rgba(3,15,25,.34),rgba(3,15,25,.08)),url('/hero-v52.jpg') 57% center/cover no-repeat}
 .hero-copy p{font-size:16px}
}
