:root{--navy:#03172c;--navy2:#071f3b;--blue:#1979be;--cyan:#2fa9dc;--gold:#f2a900;--white:#fff;--muted:#b8c7d7;--line:rgba(255,255,255,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--navy);color:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:auto}.topbar{background:#020f1d;border-bottom:1px solid var(--line)}.topbar .container{display:flex;justify-content:flex-end;gap:24px;padding:9px 0;font-size:.9rem;color:#d8e5f0}.header{position:sticky;top:0;z-index:20;background:rgba(3,23,44,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 0}.brand img{width:230px;background:#fff;padding:6px 10px;border-radius:3px}.links{display:flex;align-items:center;gap:22px;font-weight:700;font-size:.92rem}.links a:hover,.links a.active{color:var(--gold)}.btn{display:inline-block;padding:13px 20px;background:var(--gold);color:#071525;font-weight:800;border:1px solid var(--gold);text-transform:uppercase;letter-spacing:.03em}.btn.alt{background:transparent;color:white;border-color:#fff}.mobile{display:none;background:none;border:0;color:white;font-size:1.7rem}.hero{min-height:610px;display:grid;align-items:center;background:linear-gradient(90deg,rgba(2,15,29,.96) 0%,rgba(2,15,29,.78) 38%,rgba(2,15,29,.2) 70%),url('assets/hero-marina.png') center/cover no-repeat}.hero-copy{max-width:650px;padding:90px 0}.eyebrow{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.91;margin:14px 0 18px;text-transform:uppercase;letter-spacing:-.035em}.hero p{font-size:1.25rem;color:#e4eef7;max-width:620px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.stats{background:#051b34;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{padding:28px 24px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{font-size:1.35rem;display:block}.stat span{color:var(--muted)}section{padding:72px 0}.section-head{text-align:center;margin-bottom:32px}.section-head h2{font-size:clamp(2rem,4vw,3.3rem);margin:.3rem 0}.section-head p{color:var(--muted);max-width:760px;margin:auto}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#082442;border:1px solid var(--line);overflow:hidden}.card img{width:100%;height:210px;object-fit:cover}.card-body{padding:22px}.card h3{margin:0 0 8px;font-size:1.2rem}.card p{color:var(--muted);margin:0}.dark{background:#020f1d}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.project{position:relative;min-height:360px;overflow:hidden}.project img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(0,0,0,.85))}.project-info{position:absolute;z-index:2;left:24px;bottom:20px}.project h3{font-size:1.5rem;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.split img{border:1px solid var(--line)}.checklist{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding:0;list-style:none}.checklist li:before{content:"✓";color:var(--gold);font-weight:bold;margin-right:8px}.cta{background:linear-gradient(90deg,#0a3159,#061c34);text-align:center}.cta h2{font-size:2.5rem;margin:0 0 12px}.footer{background:#010b15;border-top:1px solid var(--line);padding:48px 0 18px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1.2fr;gap:30px}.footer h4{color:var(--gold);margin-top:0}.footer p,.footer li{color:#b9c7d5}.footer ul{list-style:none;padding:0;margin:0}.footer-logo{width:230px;background:white;padding:8px}.copyright{text-align:center;border-top:1px solid var(--line);margin-top:32px;padding-top:18px;color:#8295a8;font-size:.88rem}.page-hero{padding:90px 0 70px;background:linear-gradient(90deg,rgba(2,15,29,.94),rgba(2,15,29,.45)),url('assets/marina-aerial-3.png') center/cover}.page-hero h1{font-size:clamp(2.8rem,6vw,5rem);margin:0;text-transform:uppercase}.content{background:#fff;color:#102030}.content p{color:#4c5b67}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-item{padding:26px;border:1px solid #dce4eb;background:#f7fafc}.service-item h3{margin-top:0;color:#07355e}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form .full{grid-column:1/-1}.form input,.form textarea,.form select{width:100%;padding:14px;border:1px solid #c8d2dc;font:inherit}.form textarea{min-height:150px}.note{font-size:.9rem;color:#617180}@media(max-width:900px){.links{display:none;position:absolute;left:0;right:0;top:76px;background:#03172c;padding:22px;flex-direction:column}.links.open{display:flex}.mobile{display:block}.stats-grid,.grid4,.footer-grid,.service-list{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.hero{min-height:560px}.brand img{width:185px}}@media(max-width:600px){.topbar .container{justify-content:center;gap:10px;flex-wrap:wrap}.stats-grid,.grid4,.projects,.footer-grid,.service-list,.form{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.hero-copy{padding:65px 0}.hero h1{font-size:3rem}.card img{height:230px}.form .full{grid-column:auto}.checklist{grid-template-columns:1fr}}

.legacy-hero p{font-size:1.2rem;max-width:720px;color:#e5eef6}.legacy-section{background:#f4f7fa;color:#102030}.legacy-section .section-head p{color:#536371}.legacy-tools{display:grid;grid-template-columns:minmax(280px,1fr) auto;gap:20px;align-items:end;margin-bottom:22px}.search-box{display:grid;gap:7px;font-weight:800;color:#17324b}.search-box input{width:100%;padding:15px 16px;border:1px solid #c8d3dd;border-radius:3px;font:inherit;background:#fff}.decade-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.filter-btn{padding:11px 14px;border:1px solid #b7c5d0;background:#fff;color:#17324b;font-weight:800;cursor:pointer}.filter-btn:hover,.filter-btn.active{background:var(--gold);border-color:var(--gold);color:#071525}.legacy-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 20px;color:#3f5364}.legacy-summary .btn.alt{color:#0b2a45;border-color:#0b2a45;padding:10px 15px}.legacy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.legacy-card{background:#fff;border:1px solid #d7e0e8;border-top:4px solid var(--gold);padding:20px;box-shadow:0 7px 22px rgba(6,27,50,.06);transition:.2s transform,.2s box-shadow}.legacy-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(6,27,50,.12)}.legacy-year{color:var(--gold);font-weight:900;letter-spacing:.08em}.legacy-card h3{color:#062b50;margin:6px 0 14px;font-size:1.15rem;line-height:1.25}.legacy-card p{margin:0;color:#4e6070}.legacy-card p span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#80909e;margin-bottom:3px}.no-results{text-align:center;padding:36px;color:#526473;font-weight:800}.legacy-teaser{background:linear-gradient(135deg,#fff,#eaf2f8);color:#102030}.legacy-teaser p{color:#4c5b67}.legacy-metrics{display:flex;gap:34px;margin:24px 0}.legacy-metrics div{display:grid}.legacy-metrics strong{font-size:1.4rem;color:#06365f}.legacy-metrics span{color:#617180;font-size:.9rem}
@media(max-width:900px){.legacy-tools{grid-template-columns:1fr}.decade-filters{justify-content:flex-start}.legacy-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.legacy-grid{grid-template-columns:1fr}.legacy-summary{align-items:flex-start;flex-direction:column}.legacy-metrics{flex-direction:column;gap:12px}}


/* COMPACT PROJECT LIST */
.project-groups{display:grid;gap:18px}.project-year-group{background:#fff;border:1px solid #d6e0e8;box-shadow:0 5px 16px rgba(6,27,50,.045)}.project-year-heading{margin:0;padding:9px 14px;background:#062b50;color:#fff;font-size:1rem;letter-spacing:.06em}.project-list-compact{display:grid;grid-template-columns:1fr}.project-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:12px;padding:8px 12px;border-bottom:1px solid #e5ebf0;font-size:.82rem;line-height:1.25;min-height:38px;align-items:center}.project-row:nth-child(odd){background:#f9fbfd}.project-row:nth-last-child(-n+2){border-bottom:0}.project-name{font-weight:800;color:#082f54}.project-partner{color:#5b6c7a}.project-year-group[hidden],.project-row[hidden]{display:none!important}
@media(max-width:780px){.project-row:last-child{border-bottom:0}}
@media(max-width:520px){.project-row{grid-template-columns:1fr;gap:3px;padding:9px 11px;font-size:.78rem}.project-partner{font-size:.74rem}}

/* COMPLETE 92-PROJECT PORTFOLIO */
.project-column-headings{display:grid;grid-template-columns:48px minmax(0,1.35fr) minmax(0,1fr);gap:12px;padding:8px 12px;background:#dfe8ef;color:#17324b;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;border:1px solid #c8d4de;border-bottom:0}.project-row{grid-template-columns:48px minmax(0,1.35fr) minmax(0,1fr)}.project-number{font-weight:900;color:#9b6a00;font-size:.72rem}.legacy-summary strong{color:#06365f}.project-year-heading:after{content:"  •  Complete project history";font-weight:500;font-size:.72rem;color:#c9d9e7;letter-spacing:0;text-transform:none}@media(max-width:520px){.project-column-headings{display:none}.project-row{grid-template-columns:40px 1fr}.project-partner{grid-column:2}.project-number{grid-row:1 / span 2}}

.photo-services{background:#020f1d;color:#fff;padding:72px 0}
.photo-services .section-head p{color:#b9c7d5}
.photo-service-block{margin-top:54px}
.photo-service-title{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:18px}
.photo-service-title h2{font-size:2rem;margin:0;color:#fff}
.photo-service-title p{max-width:650px;margin:0;color:#b9c7d5}
.service-gallery{display:grid;gap:16px}
.service-gallery.four{grid-template-columns:repeat(2,1fr)}
.service-gallery.two{grid-template-columns:repeat(2,1fr)}
.service-gallery.three{grid-template-columns:repeat(3,1fr)}
.service-gallery img{width:100%;height:330px;object-fit:cover;border:1px solid rgba(255,255,255,.12)}
.service-gallery.four img:first-child{grid-row:span 2;height:676px}
@media(max-width:900px){
 .photo-service-title{display:block}
 .photo-service-title p{margin-top:8px}
 .service-gallery.three{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .service-gallery.four,.service-gallery.two,.service-gallery.three{grid-template-columns:1fr}
 .service-gallery img,.service-gallery.four img:first-child{height:260px;grid-row:auto}
}
