@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{--navy:#0f2d4a;--deep:#08263d;--teal:#006d6b;--green:#6bb36b;--mist:#e8ecef;--slate:#65747e;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,Arial,sans-serif;color:var(--navy);background:#fff;line-height:1.6}a{color:inherit}nav{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;background:#fff;position:relative;z-index:5;border-bottom:1px solid #edf0f2}.brand{text-decoration:none;font-size:28px;font-weight:800;letter-spacing:.03em;line-height:.9}.brand .a{position:relative}.brand .a:after{content:"";position:absolute;left:3px;right:1px;bottom:3px;height:6px;background:var(--green);transform:skew(-25deg)}.brand b{color:var(--green)}.brand small{display:block;font-size:8px;letter-spacing:.3em;margin-top:10px;font-weight:700;color:var(--slate)}.links{display:flex;gap:27px;align-items:center}.links a{text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.09em}.links a:hover{color:var(--teal)}.cta{background:var(--green);color:#fff!important;padding:13px 19px;border-radius:4px}.hero{min-height:590px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--deep)}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(5,35,56,.96) 0%,rgba(5,35,56,.83) 32%,rgba(5,35,56,.22) 66%,rgba(5,35,56,.02) 100%),url('hero-marina.jpg');background-size:cover;background-position:center}.hero:after{content:"";position:absolute;right:-10%;top:-20%;width:44%;height:150%;border-left:2px solid rgba(255,255,255,.38);transform:skew(-23deg)}.hero-inner{position:relative;z-index:2;width:min(1180px,89vw);margin:auto;color:#fff;padding:75px 0}.eyebrow{font-size:13px;letter-spacing:.28em;font-weight:600;color:#b9d0cf;margin-bottom:22px}.hero h1{font-size:clamp(46px,6.2vw,82px);line-height:.98;margin:0;max-width:760px;font-weight:800;letter-spacing:-.035em}.hero h1 span{color:var(--green)}.hero p{font-size:19px;max-width:650px;margin:28px 0 30px;color:#f0f5f5}.hero-pillars{display:flex;gap:0;flex-wrap:wrap;font-size:13px;letter-spacing:.2em;font-weight:600}.hero-pillars span{padding:0 18px;border-right:1px solid var(--green)}.hero-pillars span:first-child{padding-left:0}.hero-pillars span:last-child{border:0}.caption{position:absolute;right:5.5vw;bottom:24px;z-index:3;color:#fff;font-size:11px;text-align:right;opacity:.9}.section{padding:80px 5.5vw}.section.mist{background:#f5f7f8}.section.dark{background:var(--deep);color:#fff}.section-head{max-width:760px;margin-bottom:38px}.kicker{font-size:11px;letter-spacing:.24em;font-weight:700;color:var(--teal)}.dark .kicker{color:var(--green)}h2{font-size:clamp(32px,4vw,48px);line-height:1.08;margin:10px 0 16px;letter-spacing:-.025em}h3{line-height:1.15}.lead{font-size:18px;color:var(--slate);max-width:800px}.dark .lead{color:#dce6e8}.four{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dce3e7}.pillar{padding:34px 28px 30px;border-right:1px solid #dce3e7}.pillar:last-child{border-right:0}.icon{font-size:36px;font-weight:300;color:var(--teal);margin-bottom:15px}.pillar h3{font-size:18px;letter-spacing:.12em;margin:0 0 10px}.pillar p{margin:0;color:var(--slate);font-size:14px}.band{min-height:210px;background:linear-gradient(90deg,rgba(4,39,57,.96),rgba(4,39,57,.78)),url('impact-place.jpg');background-size:cover;background-position:center;display:flex;align-items:center}.band-inner{width:min(1180px,89vw);margin:auto;color:#fff}.quote{font-size:22px;letter-spacing:.16em;font-style:italic;max-width:850px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:26px}.card{padding:30px;background:#fff;border:1px solid #e2e8eb;box-shadow:0 12px 30px rgba(15,45,74,.06)}.card h3{margin:0 0 8px;font-size:22px}.meta{font-size:12px;color:var(--teal);font-weight:700;letter-spacing:.08em}.card p{color:var(--slate);font-size:15px}.btn{display:inline-block;padding:13px 20px;border:1px solid var(--green);text-decoration:none;font-weight:700;font-size:13px;border-radius:3px}.btn.fill{background:var(--green);color:#fff}.btn + .btn{margin-left:10px}.timeline{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.project{background:#fff;border:1px solid #e0e7e9;padding:30px}.project .value{font-size:13px;color:var(--teal);font-weight:700;letter-spacing:.07em}.project h3{font-size:24px;margin:8px 0}.project p{color:var(--slate);font-size:14px}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.gallery-card{background:#fff;border:1px solid #e0e7e9;overflow:hidden}.gallery-visual{height:260px;background:linear-gradient(135deg,#dce7e8,#cbdad9);display:flex;align-items:flex-end;padding:22px;position:relative;background-size:cover;background-position:center}.gallery-card:first-child .gallery-visual{background-image:linear-gradient(90deg,rgba(8,38,61,.45),rgba(8,38,61,.02)),url('hero-marina.jpg')}.gallery-card:nth-child(2) .gallery-visual{background-image:linear-gradient(90deg,rgba(8,38,61,.32),rgba(8,38,61,.02)),url('impact-place.jpg')}.tag{background:var(--navy);color:#fff;padding:8px 11px;font-size:10px;letter-spacing:.12em;font-weight:700}.gallery-copy{padding:24px}.gallery-copy h3{margin:0 0 7px;font-size:21px}.gallery-copy p{margin:0 0 15px;color:var(--slate);font-size:14px}.gallery-copy a{color:var(--teal);font-size:12px;font-weight:700;text-decoration:none}.note{padding:20px 22px;border-left:4px solid var(--green);background:#f2f6f5;color:var(--slate);font-size:13px;margin-top:35px}.cvbox{display:grid;grid-template-columns:1.3fr .7fr;gap:40px}.cv-list{columns:2;column-gap:50px}.cv-list p{break-inside:avoid;color:var(--slate);font-size:14px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:40px}.contact-box{background:var(--mist);padding:35px}.contact-box a{color:var(--teal);font-weight:700}.footer{background:var(--navy);color:#fff;padding:26px 5.5vw;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em}.footer span{color:#c7d5d9}@media(max-width:900px){nav{height:auto;padding:20px 6vw;align-items:flex-start}.links{display:none}.hero{min-height:620px}.four,.grid2,.timeline,.gallery-grid,.cvbox,.contact{grid-template-columns:1fr}.pillar{border-right:0;border-bottom:1px solid #dce3e7}.hero:after{display:none}.caption{right:6vw}.section{padding:60px 6vw}.cv-list{columns:1}.footer{flex-direction:column;gap:8px}}

/* Homepage polish: keep the four pillars fully inside the viewport */
html, body { max-width:100%; overflow-x:hidden; }
.four, .pillars { width:100%; max-width:100%; box-sizing:border-box; }
.four .pillar { min-width:0; box-sizing:border-box; }
.four .pillar p { max-width:100%; overflow-wrap:break-word; }
@media (min-width: 900px) {
  .four { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
}

/* Final homepage project grid: five featured projects */
.section.dark .grid2 {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:56px 80px;
}
.section.dark .grid2 > div:last-child {
  grid-column:1;
}
@media (max-width:800px) {
  .section.dark .grid2 { grid-template-columns:1fr; gap:32px; }
  .section.dark .grid2 > div:last-child { grid-column:auto; }
}

/* APPROVED Hays Regen I-C pillar icons */
.four .pillar .icon.custom-icon{
  width:72px;height:58px;margin:0 0 14px;
  display:flex;align-items:center;justify-content:flex-start;
  background:none;border:0;transform:none;
}
.four .pillar .icon.custom-icon svg{
  width:58px;height:48px;display:block;overflow:visible;
  fill:none;stroke:var(--navy);stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;
}
.four .pillar:nth-child(1) .custom-icon svg{stroke:var(--teal)}
.four .pillar:nth-child(2) .custom-icon svg path:last-child{stroke:var(--green);stroke-width:2.5}
.four .pillar:nth-child(2) .custom-icon svg circle:last-of-type{stroke:var(--green)}
.four .pillar:nth-child(3) .custom-icon svg circle{stroke:var(--green)}
.four .pillar:nth-child(3) .custom-icon svg path:last-child{stroke:var(--green)}
.four .pillar:nth-child(4) .custom-icon svg path:last-child{stroke:var(--green);stroke-width:2.5}

.gallery-intro{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:38px}.gallery-grid-rich{grid-template-columns:repeat(2,1fr)}.gallery-card.rich .gallery-visual{height:330px;padding:0;display:flex;align-items:flex-end}.gallery-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-card.rich .gallery-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,35,56,.02) 35%,rgba(5,35,56,.72) 100%)}.gallery-card.rich .tag{position:relative;z-index:2;margin:22px}.gallery-card.rich .gallery-copy{padding:26px}.gallery-placeholder{height:330px;background:linear-gradient(135deg,#0f2d4a,#006d6b);color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:flex-end}.gallery-placeholder span{font-size:58px;font-weight:800;line-height:1;color:#fff}.gallery-placeholder small{font-size:11px;letter-spacing:.18em;color:#bfe0d0;margin-top:10px;font-weight:700}.text-card .gallery-copy{padding:26px}.text-card .gallery-copy h3{font-size:24px}.text-card .gallery-copy p{min-height:72px}@media(max-width:900px){.gallery-intro,.gallery-grid-rich{grid-template-columns:1fr}}

/* Gallery refinement */
.gallery-grid-rich .gallery-card:nth-child(5){grid-column:1 / -1}
.gallery-grid-rich .gallery-card:nth-child(5) .gallery-visual{height:300px}
@media(max-width:900px){.gallery-grid-rich .gallery-card:nth-child(5){grid-column:auto}}
/* CV page refinement */
.cv-hero{padding-bottom:62px}.cv-hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(255,255,255,.2);margin-top:42px}.cv-hero-stats div{padding:24px 22px 0;border-right:1px solid rgba(255,255,255,.2)}.cv-hero-stats div:first-child{padding-left:0}.cv-hero-stats div:last-child{border-right:0}.cv-hero-stats strong{display:block;font-size:30px;color:#fff;line-height:1}.cv-hero-stats span{display:block;margin-top:7px;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#b9d0cf;font-weight:700}.cv-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.cv-muted{color:var(--slate);font-size:14px}.career-timeline{border-top:1px solid #d9e1e4}.career-item{display:grid;grid-template-columns:190px 1fr;gap:42px;padding:30px 0;border-bottom:1px solid #d9e1e4}.career-date{font-size:11px;letter-spacing:.12em;color:var(--teal);font-weight:800;padding-top:5px}.career-item h3{margin:0 0 4px;font-size:19px}.career-org{margin:0 0 10px;color:var(--teal);font-size:13px;font-weight:700}.career-item p:last-child{margin:0;color:var(--slate);font-size:14px;max-width:820px}.cv-project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.cv-project-grid .card:last-child{grid-column:1/-1}.qual-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 35px;margin:28px 0}.qual-grid div{padding-top:18px;border-top:1px solid #d9e1e4}.qual-grid strong{display:block;font-size:16px}.qual-grid span{display:block;color:var(--slate);font-size:13px;margin-top:4px}.cvbox-new{grid-template-columns:1.2fr .8fr}.cv-strengths{align-self:start}@media(max-width:900px){.cv-hero-stats,.cv-intro,.cvbox-new,.cv-project-grid{grid-template-columns:1fr}.cv-hero-stats div{border-right:0;border-bottom:1px solid rgba(255,255,255,.2);padding:18px 0}.career-item{grid-template-columns:1fr;gap:8px}.cv-project-grid .card:last-child{grid-column:auto}.qual-grid{grid-template-columns:1fr}}

/* Contact page refinement */
.contact-hero{padding-top:92px;padding-bottom:92px}.contact-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:end}.contact-action{border-left:3px solid var(--green);padding:8px 0 8px 30px}.contact-action p{color:var(--slate);font-size:15px;margin:12px 0 22px}.contact-help{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.contact-help .card{height:100%}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:60px;border-top:1px solid #d9e1e4;padding-top:34px}.contact-details h2{margin-top:8px;word-break:break-word}.contact-details h2 a{text-decoration:none;color:var(--navy)}.contact-details h2 a:hover{color:var(--teal)}@media(max-width:900px){.contact-intro,.contact-help,.contact-details{grid-template-columns:1fr}.contact-action{margin-top:20px}.contact-details{gap:35px}}
