@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital@0;1&display=swap');:root{--ink:#172c39;--muted:#576b77;--teal:#357e86;--cream:#f5f5f0;--line:#d9e0df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}.header{height:86px;padding:0 5.4%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:5;border-bottom:1px solid #edf0f0}.logo{display:flex;align-items:center;gap:15px}.mark{font-size:33px;letter-spacing:-3px;font-weight:700;color:var(--ink)}.dot{color:var(--teal)}.logotext{font-weight:700;letter-spacing:.13em;font-size:12px;line-height:1.5}.logotext small{display:block;font-size:8px;letter-spacing:.17em;color:#70838b}nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}nav a:hover{color:var(--teal)}.nav-contact{padding:11px 17px;border:1px solid #b7c8c8}.hero{min-height:620px;position:relative;color:white;background:#1c333e;display:flex;align-items:center}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,32,45,.94) 0%,rgba(10,32,45,.83) 38%,rgba(10,32,45,.14) 78%,rgba(10,32,45,.06) 100%),url('assets/hero-distinctive.webp') center 50%/cover}.hero-inner{position:relative;width:min(1050px,89%);margin:auto;padding:85px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;color:var(--teal);margin-bottom:24px}.eyebrow.light{color:#b5d8d8}.hero h1{font-size:clamp(56px,7vw,105px);line-height:1.04;letter-spacing:-.065em;font-weight:500;margin:0 0 24px}.hero h1 em{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;letter-spacing:-.06em}.hero p{font-size:17px;line-height:1.8;max-width:590px;color:#dbe5e8}.button{display:inline-flex;gap:40px;margin-top:25px;background:#fff;color:var(--ink);padding:16px 23px;font-size:12px;font-weight:700}.button span{color:var(--teal)}.hero-caption{position:absolute;right:5%;bottom:25px;letter-spacing:.18em;font-size:9px;color:#c4d4d6}.section{padding:110px max(6%,calc((100% - 1140px)/2))}.intro,.about{display:grid;grid-template-columns:1fr 1fr;gap:10%}h2{font-size:clamp(34px,4.3vw,55px);font-weight:500;line-height:1.18;letter-spacing:-.048em;margin:0 0 30px}p{font-size:15px;line-height:1.9;color:var(--muted)}.lead{font-size:19px;color:#283f4c;line-height:1.7;margin-top:0}.statband{background:#edf2f0;padding:42px 8%;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.statband div{border-right:1px solid #cbd6d4;padding-left:12%}.statband div:last-child{border:0}.statband strong{display:block;font-size:31px;font-weight:500;letter-spacing:-.04em}.statband span{font-size:11px;color:#677d82;letter-spacing:.06em}.expertise{background:var(--cream)}.expertise h2{margin-bottom:55px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.cards article{background:#fff;padding:38px;min-height:255px}.num{color:var(--teal);font-size:11px;font-weight:700}.cards h3,.work-grid h3{font-size:23px;font-weight:500;letter-spacing:-.035em;line-height:1.3}.cards p{font-size:14px}.image-split{display:grid;grid-template-columns:1fr 1fr;min-height:530px}.split-image{background:url('assets/infrastructure.webp') center/cover}.split-copy{background:#1e3d48;color:white;padding:85px 12%}.split-copy h2{font-size:clamp(33px,3.7vw,48px)}.split-copy p{color:#d3e0e2}.work-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:55px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.work-grid article{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.work-index{font-size:10px;letter-spacing:.14em;font-weight:700;color:var(--teal)}.work-grid p{font-size:13px}.note{font-size:11px;margin-top:23px}.about{background:#f1f4f2}.contact{background:#18313d;color:white}.contact h2{font-size:clamp(48px,6vw,78px)}.contact p{color:#d1dcdf}.email{display:inline-flex;gap:60px;align-items:center;border-bottom:1px solid #a7c9cc;font-size:clamp(21px,3vw,34px);padding:10px 0 17px;margin:12px 0 20px}.email span{color:#a7c9cc}.contact .fine{font-size:11px;max-width:650px;color:#afc0c6}footer{padding:30px 6%;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#657983}footer .footer-brand{font-weight:700;color:#203946}footer span{font-weight:400;color:#83969e}@media(max-width:820px){.header{height:auto;min-height:75px;flex-wrap:wrap;padding:18px 5%}nav{width:100%;overflow-x:auto;gap:18px;padding-top:15px;white-space:nowrap}.hero{min-height:540px}.hero-inner{padding:70px 0}.section{padding:70px 6%}.intro,.about,.work-heading{grid-template-columns:1fr;gap:18px}.cards,.image-split{grid-template-columns:1fr}.split-image{min-height:300px}.split-copy{padding:65px 7%}.work-grid{grid-template-columns:repeat(2,1fr)}.statband{padding:32px 5%}.statband strong{font-size:24px}footer{flex-wrap:wrap}}@media(max-width:540px){.hero h1{font-size:53px}.work-grid{grid-template-columns:1fr}.statband{grid-template-columns:1fr}.statband div{border-right:0;border-bottom:1px solid #cbd6d4;padding:0 0 15px}.statband div:last-child{border:0}.cards article{padding:26px}.hero-caption{display:none}}
.original-logo{display:block;width:112px;height:auto;object-fit:contain}.logo{gap:14px}@media(max-width:540px){.original-logo{width:92px}}


/* v7: restore spacious headline, keep the complete lighthouse visible */
.hero{min-height:690px;overflow:hidden;background:#081e3c}
.hero-bg{background:linear-gradient(90deg,transparent 0%,transparent 48%,rgba(8,27,54,.55) 57%,#081e3c 73%),url('assets/lighthouse-selected.webp') left center/auto 100% no-repeat;background-color:#081e3c}
.hero-inner{width:min(1500px,92%);padding:105px 0 105px 47%;display:block}
.hero h1{font-size:clamp(48px,5.1vw,84px);line-height:1.09;letter-spacing:-.055em;max-width:760px}
.hero p{max-width:600px;font-size:17px;line-height:1.75}
@media(max-width:1100px) and (min-width:821px){.hero-inner{padding-left:43%}.hero h1{font-size:clamp(46px,5.3vw,70px)}}
@media(max-width:820px){.hero{min-height:0}.hero-bg{background:linear-gradient(180deg,transparent 0%,rgba(8,27,54,.1) 32%,#081e3c 96%),url('assets/lighthouse-selected.webp') left top/100% auto no-repeat;background-color:#081e3c}.hero-inner{padding:60vw 0 75px;width:88%}.hero h1{font-size:clamp(44px,9vw,65px)}.hero p{font-size:16px}}
/* Version 8: restore original shallow banner proportions and overlay typography. */
@media (min-width: 821px) {
  .hero { min-height: 500px; height: 500px; overflow: hidden; align-items: center; background: #0c2441; }
  .hero-bg { background: linear-gradient(90deg, rgba(5,23,46,.04) 0%, rgba(7,24,48,.08) 30%, rgba(7,24,48,.53) 49%, rgba(7,24,48,.58) 100%), url('assets/lighthouse-selected.webp') center 46% / cover no-repeat; }
  .hero-inner { width: 92%; max-width: 1760px; margin: auto; padding: 0 0 0 41%; }
  .hero h1 { font-size: clamp(49px, 4.35vw, 79px); line-height: 1.08; letter-spacing: -.055em; max-width: none; margin-bottom: 22px; white-space: nowrap; }
  .hero p { max-width: 700px; font-size: 15px; line-height: 1.65; margin: 0; }
  .hero .eyebrow { margin-bottom: 21px; }
  .hero .button { margin-top: 28px; }
}
@media (min-width: 821px) and (max-width: 1250px) {
  .hero-inner { padding-left: 39%; }
  .hero h1 { font-size: clamp(43px, 4.25vw, 58px); }
}
@media (max-width: 820px) {
  .hero { min-height: 0; height: auto; }
  .hero-bg { background: linear-gradient(180deg,rgba(7,24,48,.06) 0%,rgba(7,24,48,.18) 42%,rgba(7,24,48,.96) 88%), url('assets/lighthouse-selected.webp') 35% top / 100% auto no-repeat; background-color:#0c2441; }
  .hero-inner { padding: 53vw 0 70px; width: 88%; }
  .hero h1 { white-space: normal; }
}

/* Approved compact banner with new panoramic lighthouse image */
.hero{min-height:0;height:500px;overflow:hidden;align-items:center}
.hero-bg{background-image:linear-gradient(90deg,rgba(6,23,46,.10) 0%,rgba(7,24,49,.10) 34%,rgba(5,21,45,.43) 50%,rgba(5,21,45,.48) 100%),url('assets/lighthouse-banner.jpg');background-size:cover;background-position:center center}
.hero-inner{width:55%;max-width:800px;margin:0 0 0 42%;padding:30px 0;z-index:1}
.hero .eyebrow{margin-bottom:14px;font-size:10px}
.hero h1{font-size:clamp(40px,4.1vw,75px);line-height:1.08;letter-spacing:-.055em;margin-bottom:16px;white-space:nowrap}
.hero p{max-width:640px;font-size:14px;line-height:1.65;margin:0}
.hero .button{margin-top:22px}
@media(max-width:850px){.hero{height:460px}.hero-inner{margin-left:37%;width:61%}.hero h1{font-size:clamp(33px,5vw,52px)}.hero p{font-size:13px}.hero-bg{background-position:42% center}}
@media(max-width:600px){.hero{height:480px}.hero-inner{margin-left:26%;width:72%;padding:20px 0}.hero h1{font-size:clamp(28px,6vw,40px);white-space:normal}.hero p{font-size:12px}.hero-bg{background-position:32% center;background-image:linear-gradient(90deg,rgba(5,21,45,.20),rgba(5,21,45,.67)),url('assets/lighthouse-banner.jpg')}}

/* Version 10: refinements below the approved lighthouse hero; hero intentionally unchanged */
.work-cta{background:#eaf0ee;padding:35px max(6%,calc((100% - 1140px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px}
.work-cta p{margin:0;font-size:17px;color:#1d3b47;max-width:640px}
.work-cta a{flex-shrink:0;border-bottom:1px solid #357e86;padding:8px 0;font-size:14px;font-weight:700;color:#1d3b47}
.work-cta a span{margin-left:18px;color:#357e86}
@media(max-width:700px){.work-cta{padding:30px 6%;display:block}.work-cta a{display:inline-block;margin-top:12px}}
