/* Shared visual refresh, based on the homepage references in newdesign/. */
/* Parallax is enabled progressively; the original hero remains the fallback. */
@media (prefers-reduced-motion: no-preference) {
  body.home .hero.parallax-enabled { background: #061320; isolation: isolate; }
  body.home .hero.parallax-enabled::before { content: ''; position: absolute; inset: -20% 0; z-index: 0; background: url('assets/architecture.jpg') center 56% / cover no-repeat; transform: translate3d(0,var(--hero-offset,0px),0); will-change: transform; pointer-events: none; }
  body.home .hero.parallax-enabled::after { display: block; inset: 0; z-index: 1; background: linear-gradient(90deg,rgba(6,19,32,.96),rgba(6,19,32,.63) 48%,rgba(6,19,32,.18)),linear-gradient(0deg,rgba(6,19,32,.65),transparent 60%); pointer-events: none; }
}
@media (max-width: 560px) and (prefers-reduced-motion: no-preference) {
  body.home .hero.parallax-enabled::before { background-position: 60% center; }
}
:root{--section-blue:#192238;--serif:var(--sans);--ink:#1c2638;--navy-900:#0d1523;--navy-800:#192238;--gold-500:#526b85;--gold-400:#adc3d7;--slate-500:#64748a;--slate-300:#b5c5d5;--paper:#f3f4f5;--paper-alt:#e8ecef;--line:#cdd5de;--radius:0px;--maxw:1600px}
body{font-size:16px}h1,h2,h3,h4{font-weight:500;letter-spacing:-.055em}h2{font-size:clamp(36px,5.1vw,80px);line-height:1.06}h3{letter-spacing:-.035em}a:focus-visible,button:focus-visible{outline:3px solid #7d9fbe;outline-offset:6px}.container{width:calc(100% - 112px);padding:0}.section{padding:120px 0}.lead{font-size:18px;line-height:1.8}.eyebrow{display:flex;align-items:center;gap:16px;font-size:11px;letter-spacing:.19em;margin-bottom:30px}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor;opacity:.65}.muted-heading{color:#7c899c}.btn{border-radius:0;font-size:12px;padding:18px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:36px}.btn:after{content:"→";font-size:23px;line-height:1}.btn--primary{background:#f1f4f5;color:#15243a}.btn--primary:hover{background:#d7e2eb}.btn--ghost{border-color:transparent}.btn--ghost:after{content:"↗";font-size:15px}.btn--dark{background:#192238;color:white}.brand__mark{border-radius:0;background:transparent;color:inherit;border:1px solid #81909e;font-family:var(--sans)}.brand__name{font-size:15px;letter-spacing:-.03em}.brand__name span{font-size:9px;letter-spacing:.12em;margin-top:5px}.site-header{position:relative;background:var(--paper);backdrop-filter:none;border:0}.nav{height:100px;border-bottom:1px solid var(--line)}.nav__links{gap:40px}.nav__links a{font-size:13px}.nav__links a.active{color:inherit;text-decoration:underline;text-underline-offset:7px}.nav__toggle{color:inherit}
.home .site-header{position:absolute;top:0;left:0;right:0;background:transparent;color:#fff}.home .nav{border-color:#ffffff40}.home .brand__name,.home .nav__links a{color:#f1f4f5}.home .brand__name span{color:#b5c5d5}.home .nav__cta .btn{background:transparent;padding-right:0}.home .nav__toggle span{background:white}
.hero{padding:220px 0 44px;min-height:900px;background:linear-gradient(90deg,rgba(6,19,32,.96),rgba(6,19,32,.63) 48%,rgba(6,19,32,.18)),linear-gradient(0deg,rgba(6,19,32,.65),transparent 60%),url('assets/architecture.jpg') center 56%/cover}.hero:after{display:none}.hero h1{font-size:clamp(56px,7.3vw,112px);font-weight:500;line-height:1;letter-spacing:-.075em;max-width:960px}.hero h1 span{color:#d2ad68}.hero .lead{font-size:15px;max-width:600px;line-height:1.8;color:#c4cbd4;margin-top:26px}.hero .eyebrow{color:#adc3d7}.hero__actions{margin-top:38px}.stats{gap:0;border-top:1px solid #ffffff60;margin-top:24px}.stat{display:flex;align-items:center;gap:13px;padding:24px 28px;border-right:1px solid #ffffff35}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat .stat__num{font-size:29px;color:white;font-weight:500;letter-spacing:-.06em}.stat__label{font-size:29px;font-weight:500;letter-spacing:-.03em;text-transform:uppercase;line-height:1.2}
.home .section-head{max-width:none;text-align:left;display:grid;grid-template-columns:1.6fr 1fr;gap:0 7%;margin-bottom:85px}.home .section-head .eyebrow{grid-column:1/-1}.home .section-head .lead{align-self:end;margin:0;max-width:470px}.services-grid{grid-template-columns:1fr 1fr;gap:24px;margin-left:16%;counter-reset:services}.services-grid .card{position:relative;display:block;padding:38px 72px 48px 100px;min-height:240px;border:0;background:#e7ebef;counter-increment:services}.services-grid .card:before{content:"0" counter(services);position:absolute;top:40px;left:30px;font-size:12px;letter-spacing:.12em;color:#71869b}.services-grid .card:after{content:"→";position:absolute;right:28px;top:36px;border:1px solid #bcc8d4;width:36px;height:36px;display:grid;place-items:center}.services-grid .card:nth-child(2){background:#e1e7ec}.services-grid .card:nth-child(3){background:#dde4ea}.services-grid .card:hover{box-shadow:none;background:#d3dde6}.services-grid .card h3{font-size:23px}.services-grid .card p{font-size:15px;line-height:1.8}.services-grid .card__icon{display:none}
.verticals{background:var(--section-blue);position:relative;overflow:hidden}.verticals:before{content:"";position:absolute;right:-220px;top:-560px;width:800px;height:800px;border:1px solid #ffffff09;border-radius:50%;box-shadow:0 0 0 120px #ffffff02,0 0 0 240px #ffffff02;pointer-events:none}.verticals h2{color:#f4f5f7}.verticals .lead{color:#b4c9dc}.verticals .eyebrow{color:#a8bfd5}.verticals .muted-heading{color:#98abc2}.vgrid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:16px;counter-reset:verticals}.vtile{position:relative;min-height:440px;border:0;border-radius:0;box-shadow:none;background:#0c1929;counter-increment:verticals;justify-content:flex-end;padding:30px;isolation:isolate}.vtile:hover{transform:none;box-shadow:none}.vtile__accent,.vtile__code{display:none}.vtile__media{position:absolute;inset:0;aspect-ratio:auto;z-index:-2;background:#253a50!important}.vtile__media img{width:100%;height:100%;object-fit:cover;animation:none;transform:none;filter:saturate(.55)}.vtile__media:after{background:linear-gradient(180deg,#0b182945,rgba(11,24,41,.35) 30%,#0d1729f2 100%)}.vtile__label{position:static}.vtile__chip{position:absolute;top:28px;left:30px;background:none;box-shadow:none;border-radius:0;padding:0;font-size:10px;letter-spacing:.16em}.vtile:after{content:"0" counter(verticals);position:absolute;right:28px;top:28px;color:#c5ced6;font-size:11px;letter-spacing:.1em}.vtile__title{font-size:clamp(27px,2.7vw,43px);line-height:1.05;letter-spacing:-.055em;margin-bottom:16px}.vtile__body{padding:0;flex:0}.vtile__body p{color:#c3d5e5;font-size:14px;line-height:1.7}.vtile__more{color:white;gap:20px;font-size:13px;margin-top:8px}.vtile__more:after{font-size:24px}
.why-section{padding:0;background:#e8ecef}.why-section .split{width:100%;max-width:none;grid-template-columns:1.03fr 1fr;gap:0;align-items:stretch}.why-section .why-copy{padding:110px clamp(32px,6vw,110px);grid-column:2;grid-row:1}.why-section .lead{font-size:17px;margin-top:32px}.why-section .media-frame{grid-column:1;grid-row:1;border-radius:0;aspect-ratio:auto;min-height:740px;box-shadow:none;background:linear-gradient(0deg,#0a142966,transparent 60%),url('assets/partnership.jpg') center/cover;align-items:end;justify-items:start;padding:55px}.why-section .media-frame:before{display:none}.why-section .media-frame__label{display:flex;align-items:center;gap:18px;color:white}.why-section .media-frame__label .big{font-size:34px;letter-spacing:-.07em}.why-section .media-frame__label .small{color:white;font-size:10px}.why-section .checklist{display:grid;grid-template-columns:1fr 1fr;gap:24px}.why-section .checklist li{border-top:1px solid #cbd3dc;padding:22px 0 0 25px;font-size:13px;margin:0}.why-section .checklist li:before{content:"+";background:none;color:#526b85;top:22px;left:0;font-size:18px;width:auto;height:auto}
.home .closing-section{position:relative;isolation:isolate;padding:0;background:#101827}.home .closing-section:before{content:'';position:absolute;inset:0 0 0 50.738916%;z-index:-1;background:url('assets/partnership.jpg') center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 48%);mask-image:linear-gradient(90deg,transparent 0%,#000 48%)}.home .closing-section>.container{width:100%;max-width:none;background:linear-gradient(90deg,#101827 30%,#101827d9 50.738916%,#10182770 100%)}.home .cta-band{background:none;text-align:left;border-radius:0;padding:130px max(56px,calc((100% - 1600px)/2));min-height:560px}.home .cta-band h2{max-width:920px;font-size:clamp(48px,7vw,108px)}.home .cta-band p{margin:28px 0 38px;max-width:620px;font-size:17px}.site-footer{padding:80px 0 24px}.footer-grid{grid-template-columns:1.8fr .65fr 1fr;gap:8%;margin-bottom:70px}.site-footer p{max-width:540px}.site-footer .brand__mark{color:white}.footer-bottom{font-size:11px;color:#98abc2}.footer-col a{overflow-wrap:anywhere}.page-header{background:#121b26;padding:100px 0}.page-header:after{display:none}.page-header h1{font-size:clamp(44px,6vw,86px);max-width:1100px}.card,.vertical,.form,.media-frame{box-shadow:none;border-radius:0}.card__icon,.vertical__tag,.contact-info .info-item .ic{border-radius:0;background:#dde5ec;color:#263c52}.form input,.form select,.form textarea{border-radius:0}.form .btn--primary{background:#192238;color:white}.skip-link{position:absolute;left:20px;top:-100px;padding:12px 20px;background:white;color:#192238;z-index:100}.skip-link:focus{top:16px}
@media(min-width:1700px){.hero{padding-top:250px;min-height:1000px}}
@media(max-width:1100px){.container{width:calc(100% - 64px)}.nav__links{gap:24px}.hero{min-height:850px;padding-top:200px}.stat{padding:24px 15px;flex-wrap:wrap;gap:0 10px}.services-grid{margin-left:6%}.services-grid .card{padding-left:70px;padding-right:65px}.vtile{padding:24px;min-height:420px}.vtile__chip{left:24px}.why-section .why-copy{padding:75px 36px}.why-section .checklist{grid-template-columns:1fr}.home .cta-band{padding:100px 32px}}
@media(max-width:900px){.nav{height:84px}.nav__links{top:84px;background:#111e30;padding:14px 32px 24px;transform:none;visibility:hidden;opacity:0;pointer-events:none}.nav__links.open{visibility:visible;opacity:1;pointer-events:auto;transform:none}.nav__links a,.home .nav__links a{color:white}.nav__links a{border-color:#ffffff20}.nav__links .btn{display:flex}.hero{padding-top:170px;min-height:auto}.hero h1{font-size:clamp(54px,8vw,80px)}.stats{grid-template-columns:repeat(4,1fr)}.stat{display:block}.stat__label{margin-top:6px}.home .section-head{grid-template-columns:1fr;gap:24px}.home .section-head .eyebrow{margin-bottom:0}.home .section-head .lead{max-width:620px}.section{padding:85px 0}.vgrid{grid-template-columns:1fr 1fr}.services-grid{margin-left:0}.why-section .split{grid-template-columns:1fr}.why-section .why-copy{grid-column:1;grid-row:1;padding:80px 32px}.why-section .media-frame{grid-row:2;min-height:520px;background-position:center 40%}.why-section .checklist{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.5fr 1fr;gap:40px}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:560px){.container{width:calc(100% - 40px)}.brand__name{font-size:13px}.brand__name span{font-size:8px}.hero{padding:145px 0 30px;background-position:60% center}.hero h1{font-size:clamp(45px,11vw,62px);letter-spacing:-.065em}.hero .lead{font-size:14px}.hero__actions{gap:10px}.btn{gap:20px;padding:16px 18px}.hero__actions .btn--ghost{padding-left:8px}.stats{grid-template-columns:1fr 1fr;margin-top:38px}.stat{padding:18px!important;border-bottom:1px solid #ffffff35}.stat:nth-child(odd){padding-left:0!important}.stat:nth-child(even){border-right:0}.stat:nth-child(n+3){border-bottom:0}.section{padding:68px 0}.home .section-head{margin-bottom:45px}.services-grid{grid-template-columns:1fr;gap:12px}.services-grid .card{min-height:210px;padding:30px 60px 30px 58px}.services-grid .card:nth-child(2){transform:none}.services-grid .card:before{left:20px;top:34px}.services-grid .card:after{right:16px;top:28px;width:28px;height:28px}.services-grid .card h3{font-size:21px}.vgrid{grid-template-columns:1fr}.vtile{min-height:420px}.vtile__title{font-size:35px}.why-section .why-copy{padding:68px 20px}.why-section .checklist{grid-template-columns:1fr}.why-section .media-frame{min-height:420px;padding:30px}.home .cta-band{padding:80px 20px;min-height:auto}.home .closing-section{background-size:cover}.home .closing-section>.container{background:#101827c9}.home .cta-band h2{font-size:52px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-grid>div:first-child{grid-column:auto}.site-footer{padding-top:55px}.contact-info .info-item a{font-size:15px;overflow-wrap:anywhere}.page-header{padding:65px 0}.nav__links{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

.home .brand__mark{color:#f1f4f5}.home .stat .stat__num{color:#f1f4f5}
.site-footer .brand__name,.site-footer .brand__mark{color:#f1f4f5}.site-footer .brand__name span{color:#b5c5d5}


.home .closing-section::before { display: none; }
.home .closing-visual { position: absolute; inset: 0 0 0 50.738916%; z-index: -1; overflow: hidden; pointer-events: none; -webkit-mask-image: linear-gradient(90deg,transparent 0%,#000 48%); mask-image: linear-gradient(90deg,transparent 0%,#000 48%); }
.home .closing-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
@media (prefers-reduced-motion: no-preference) {
  .home .closing-visual img { transform: scale(var(--closing-image-scale,1)); transform-origin: center; }
}
@media(max-width:900px){.home .closing-visual{left:0}}

/* Text-only Why NAAI layout. */
.why-section{padding:160px 0}
.why-layout{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.why-heading h2{max-width:650px}
.why-details .lead{margin:0 0 38px;max-width:none;font-size:18px}
.why-details .checklist{margin:0;gap:28px 32px}
.why-details .checklist li{font-size:14px;line-height:1.8}
@media(max-width:900px){.why-section{padding:110px 0}.why-layout{grid-template-columns:1fr;gap:35px}}
@media(max-width:560px){.why-section{padding:85px 0}.why-details .lead{font-size:16px}.why-details .checklist{grid-template-columns:1fr}}

/* Buttons share the hero heading's blue accent. */
.btn,
.form .btn--primary,
.home .nav__cta .btn,
.home .nav__links a.btn {
  background: rgba(30, 42, 55, .78);
  color: #15243a;
  border-color: #acc4d8;
  border-radius: 8px;
}
.btn:hover,
.form .btn--primary:hover,
.home .nav__cta .btn:hover,
.home .nav__links a.btn:hover {
  background: rgba(45, 60, 77, .88);
  color: #15243a;
  border-color: #c2d5e5;
}
.home .nav__cta .btn { padding: 18px 24px; }
@media (max-width: 560px) {
  .hero__actions .btn--ghost { padding-left: 18px; }
}

.home .stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;min-width:0}.home .stat__label{margin-top:0;overflow-wrap:anywhere}

.home .stat .stat__num,.home .stat .stat__label{font-size:18px;text-transform:uppercase}

/* Compact buttons and a clean transition into the statistics. */
.btn,
.home .nav__cta .btn,
.nav__links a.btn {
  padding-top: 10px;
  padding-bottom: 10px;
}
.home .hero__actions .btn--primary {
  background: #fff;
  border-color: #fff;
  color: #15243a;
}
.home .hero__actions .btn--primary:hover {
  background: #eef3f7;
  border-color: #eef3f7;
}
.home .stats { border-top: 0; margin-top: 64px; }

/* Shared button dimensions and colors across every page. */
body .btn,
body .nav__links a.btn,
body.home .nav__cta .btn,
body .form .btn--primary {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 44px;
  padding: 10px 24px;
  font-size: 12px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: .02em;
  border: 1px solid #acc4d8;
  border-radius: 8px;
  background: rgba(30, 42, 55, .78);
  color: #15243a;
}
body .btn:hover,
body .nav__links a.btn:hover,
body.home .nav__cta .btn:hover,
body .form .btn--primary:hover {
  background: rgba(45, 60, 77, .88);
  border-color: #c2d5e5;
  color: #15243a;
}
body.home .hero__actions .btn--primary { background: rgba(255,255,255,.78); border-color: rgba(255,255,255,.45); }
body.home .hero__actions .btn--primary:hover { background: rgba(255,255,255,.88); border-color: rgba(255,255,255,.65); }
body .nav, body.home .nav, body .nav__links { border-bottom: 0; }

/* Individual bordered statistic panels. */
.home .stats { gap: 16px; }
.home .stats .stat {
  border: 1px solid rgba(172, 196, 216, .45);
  background: rgba(220, 234, 245, .06);
  padding: 24px !important;
}
@media (max-width: 560px) {
  .home .stats { gap: 12px; }
  .home .stats .stat { padding: 18px !important; }
}

/* Statistics sit fully within the hero background. */
.home .hero { padding-bottom: 64px; }
.home .stats-bridge { position: relative; height: auto; z-index: 3; max-width: 1600px; width: calc(100% - 112px); }
.home .stats-bridge .stats { margin-top: 120px; transform: none; grid-template-columns: repeat(4,minmax(0,1fr)); justify-content: space-between; gap: 40px; }
.home .stats-bridge .stat { background: rgba(220,234,245,.06); align-items: center; text-align: center; }
.home .stats-bridge .stat__label { color: #b5c5d5; }
.home .what-section { padding-top: 120px; }
@media(max-width:1100px) { .home .stats-bridge { width: calc(100% - 64px); } .home .stats-bridge .stats { gap: 28px; } }
@media(max-width:900px) { .home .stats-bridge .stats { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; } .home .what-section { padding-top: 85px; } }
@media(max-width:560px) { .home .hero { padding-bottom: 40px; } .home .stats-bridge { width: calc(100% - 40px); } .home .stats-bridge .stats { margin-top: 90px; gap: 20px; } .home .what-section { padding-top: 68px; } }

.home .stats-bridge .stat__content{width:fit-content;max-width:100%;text-align:left}
.home .stats-bridge .stat__content .stat__num{font-size:21px;line-height:1.2;text-align:center}
.home .stats-bridge .stat__content .stat__label{font-size:14px;line-height:1.4;margin-top:10px}

.site-footer { background: #0e1118; }


.footer-contact-label{font-size:.95rem;color:var(--slate-300)}

/* Transparent blue buttons with white text and no visible border. */
body .btn,
body .nav__links a.btn,
body.home .nav__cta .btn,
body .form .btn--primary,
body .btn:hover,
body .nav__links a.btn:hover,
body.home .nav__cta .btn:hover,
body .form .btn--primary:hover {
  border-color: transparent;
  color: #fff;
}
body.home .hero__actions .btn--primary,
body.home .hero__actions .btn--primary:hover {
  color: #1e2a37;
}

/* Faint outline for dark translucent buttons. */
body .btn,
body .nav__links a.btn,
body.home .nav__cta .btn,
body .form .btn--primary {
  border-color: rgba(172, 196, 216, .18);
}
body .btn:hover,
body .nav__links a.btn:hover,
body.home .nav__cta .btn:hover,
body .form .btn--primary:hover {
  border-color: rgba(172, 196, 216, .28);
}
body.home .hero__actions .btn--primary,
body.home .hero__actions .btn--primary:hover {
  border-color: rgba(255,255,255,.45);
}

/* Matching dimensions for the two hero actions. */
body.home .hero__actions .btn {
  width: 220px;
  height: 44px;
  min-height: 44px;
  padding: 0 24px;
  gap: 16px;
  white-space: nowrap;
  box-sizing: border-box;
}
body.home .hero__actions .btn::after {
  font-size: 15px;
  flex-shrink: 0;
}
@media (max-width: 560px) {
  body.home .hero__actions .btn { max-width: 100%; }
}

/* Full-width Services call to action, flush with the footer. */
.services-cta{padding:0}
.services-cta>.container{width:100%;max-width:none;padding:0}
.services-cta .cta-band{border-radius:0;padding:80px max(24px,calc((100vw - 1160px)/2))}
@media(max-width:560px){.services-cta .cta-band{padding:60px 20px}}

.services-approach { position: relative; isolation: isolate; overflow: hidden; background: var(--section-blue); color: #b5c5d5; }
.services-approach h2, .services-approach h3 { color: #f1f4f5; }
.services-approach .eyebrow, .services-approach .muted-heading, .services-approach .approach-number { color: #acc4d8; }
.services-approach .approach-steps p { color: #b5c5d5; }
.services-approach .approach-steps li { border-color: rgba(172,196,216,.35); }
.services-approach .approach-heading { margin-bottom: 80px; }
.approach-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 40px; list-style: none; padding: 0; margin: 0; }
.approach-steps li { position: relative; border-top: 1px solid #7c899c; padding-top: 28px; }
.approach-steps li::before { content: ''; position: absolute; top: -5px; left: 1px; width: 9px; height: 9px; background: #d2ad68; transform: rotate(45deg); }
.approach-number { display: block; color: #526b85; font-size: 24px; line-height: 1.2; margin-bottom: 24px; }
.approach-steps h3 { font-size: clamp(25px,2.2vw,34px); margin-bottom: 22px; }
.approach-steps p { color: var(--slate-500); font-size: 16px; line-height: 1.8; margin: 0; }
@media (max-width: 900px) {
  .approach-steps { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px 32px; }
  .services-approach .approach-heading { margin-bottom: 56px; }
}
@media (max-width: 560px) {
  .approach-steps { grid-template-columns: 1fr; gap: 40px; }
}

/* Consistent inner-page headers and homepage gold accent. */
.page-header {
  min-height: 560px;
  padding: 64px 0;
  display: flex;
  align-items: center;
}
.page-header h1 .heading-gold { color: #d2ad68; }
@media(max-width:560px) {
  .page-header { min-height: 600px; padding: 48px 0; }
  .page-header h1 { font-size: clamp(36px,9vw,48px); }
}

/* Consistent numbered markers on About and Services. */
.about-page .card__icon,.services-page .card__icon{width:36px;height:36px;font-size:14px;font-weight:500;margin-bottom:20px;border-radius:0}
.about-values-heading{max-width:1100px;text-align:left;margin-left:0;margin-right:0}
:is(.about-page, .services-page) .principles-grid { gap: 0; border-top: 1px solid var(--line); border-left: 1px solid var(--line); grid-auto-rows: 1fr; }
:is(.about-page, .services-page) .principles-grid .card { padding: 40px 34px; min-height: 315px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
:is(.about-page, .services-page) .principles-grid .card:hover { transform: none; box-shadow: none; }
:is(.about-page, .services-page) .principles-grid .card__icon { width: auto; height: auto; display: block; background: none; border: 0; color: #71869b; font-size: 12px; font-weight: 400; letter-spacing: .12em; line-height: 1.65; margin-bottom: 48px; }
:is(.about-page, .services-page) .principles-grid h3 { margin-bottom: 20px; }
@media (max-width: 560px) {
  :is(.about-page, .services-page) .principles-grid { grid-auto-rows: auto; }
  :is(.about-page, .services-page) .principles-grid .card { padding: 32px 26px; min-height: 0; }
  :is(.about-page, .services-page) .principles-grid .card__icon { margin-bottom: 36px; }
}
.about-cta{padding:0}
.about-cta>.container{width:100%;max-width:none;padding:0}
.about-cta .cta-band{border-radius:0;padding:80px max(24px,calc((100vw - 1160px)/2))}
:is(.about-cta, .services-cta) .eyebrow{justify-content:center}
:is(.about-cta, .services-cta) .cta-band { position: relative; isolation: isolate; overflow: hidden; background: #121b26; }
:is(.about-cta, .services-cta) .cta-band::after { content: ''; position: absolute; inset: 0; z-index: -2; background: url('assets/cta-building.jpg') center top / cover no-repeat; opacity: .07; filter: grayscale(1); -webkit-mask-image: linear-gradient(90deg,transparent 0%,#000 25%,#000 75%,transparent 100%); mask-image: linear-gradient(90deg,transparent 0%,#000 25%,#000 75%,transparent 100%); pointer-events: none; }
.services-cta .cta-band::after { background-image: url('assets/services-cta-building.jpg'); opacity: .11; }
.services-approach::before { content: ''; position: absolute; right: -220px; top: -560px; width: 800px; height: 800px; border: 1px solid #ffffff09; border-radius: 50%; box-shadow: 0 0 0 120px #ffffff02, 0 0 0 240px #ffffff02; opacity: 1; pointer-events: none; z-index: -1; }
body.services-page .services-cta .btn--primary{background:rgba(255,255,255,.78);border-color:rgba(255,255,255,.45);color:#1e2a37}
body.services-page .services-cta .btn--primary:hover{background:rgba(255,255,255,.88);border-color:rgba(255,255,255,.45);color:#1e2a37}
@media(max-width:560px){.about-cta .cta-band{padding:60px 20px}}

.form-actions{display:flex;justify-content:flex-end}

/* Give the mission statement two generous desktop lines. */
.about-cta .cta-band{padding-left:clamp(24px,4vw,64px);padding-right:clamp(24px,4vw,64px)}
.about-cta .mission-heading{max-width:1480px;margin:0 auto;font-size:clamp(34px,4vw,64px);line-height:1.15}
@media(min-width:901px){.about-cta .mission-heading span{display:block}}

/* Make the full Services photo card clickable and keyboard accessible. */
/* Wider portfolio cards, with the existing photography and interactions. */
.services-page .vgrid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; margin-left: 16%; }
.services-page .vtile { min-height: 300px; padding: 30px; }
@media (max-width: 1100px) {
  .services-page .vgrid { margin-left: 6%; }
}
@media (max-width: 900px) {
  .services-page .vgrid { margin-left: 0; }
}
@media (max-width: 700px) {
  .services-page .vgrid { grid-template-columns: 1fr; }
  .services-page .vtile { min-height: 300px; padding: 26px; }
}
.services-page .vtile__card-link{position:absolute;inset:0;z-index:5}
.services-page .vtile__card-link:focus-visible{outline:3px solid #d2ad68;outline-offset:-5px}
.services-page .vtile__media img{transition:transform 1.2s ease}
.services-page .vtile:has(.vtile__card-link:hover) .vtile__media img{transform:scale(1.16);transition:transform 1.2s ease}
body.about-page .about-cta .btn--primary{background:rgba(255,255,255,.78);border-color:rgba(255,255,255,.45);color:#1e2a37}
body.about-page .about-cta .btn--primary:hover{background:rgba(255,255,255,.88);border-color:rgba(255,255,255,.45);color:#1e2a37}

.about-cta .mission-accent{color:#acc4d8;font-style:normal}


.services-cta .strategy-accent{color:#acc4d8}
.home .closing-section .enduring-accent{color:#acc4d8}


/* Our Story: real estate photography with the homepage's navy treatment. */
.about-page .story-photo{
  background:linear-gradient(180deg,rgba(11,24,41,.4),rgba(13,23,41,.78)),url('assets/real-estate-villa.png') center/cover;
  color:#fff;
}
.about-page .story-photo::before{display:none}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .about-page .story-photo::before { display: block; background: inherit; transform: scale(1); transition: transform 1.2s ease; pointer-events: none; }
  .about-page .story-visual:hover .story-photo::before { transform: scale(1.16); }
}
.about-page .story-photo .media-frame__label .small{color:#c3d5e5}

/* Story photograph and centered copy, with an offset outline. */
.about-story .split { grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: clamp(56px,7vw,112px); align-items: center; }
.about-story .story-visual { position: relative; isolation: isolate; }
.about-story .story-visual::after { content: ''; position: absolute; inset: 18px -18px -18px 18px; border: 1px solid #7c899c; z-index: -1; pointer-events: none; }
.about-story .story-photo { aspect-ratio: 4/5; align-items: end; justify-items: start; }
.about-story .media-frame__label { text-align: left; padding: 22px 26px; background: #192238; }
.about-story .media-frame__label .big { font-size: 36px; line-height: 1.2; margin-bottom: 8px; }
.about-story .media-frame__label .small { font-size: 10px; }
.about-story .story-copy h2 { font-size: clamp(40px,4vw,64px); margin-bottom: 34px; }
.about-story .story-copy p { line-height: 1.8; text-align: justify; }
.about-story .story-copy p + p { margin-top: 32px; }
@media (min-width: 901px) {
  .about-story .story-copy p { max-width: 71%; }
}
.about-story .story-copy p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  .about-story .split { grid-template-columns: 1fr; gap: 56px; }
  .about-story .story-visual { margin-right: 18px; }
  .about-story .story-photo { aspect-ratio: 5/4; }
}
@media (max-width: 560px) {
  .about-story .story-photo { aspect-ratio: 4/5; }
  .about-story .story-copy h2 { margin-bottom: 26px; }
}
/* Contact submit button matches the heading gold. */
body #contactForm .btn--primary {
  background: #d2ad68;
  border-color: transparent;
  color: #fff;
}
body #contactForm .btn--primary:hover {
  background: #dfbd80;
  border-color: transparent;
  color: #fff;
}

.footer-contact-address{font-size:.95rem;color:var(--slate-300)}

/* Keep both hero actions aligned when hovered. */
body.home .hero__actions .btn:hover { transform: none; }

#contactForm .form-success:not([hidden]) { display: block; }
#contactForm .form-error { padding: 14px 18px; margin-bottom: 20px; border: 1px solid #b95b50; border-radius: 7px; background: #b95b5010; color: #86392f; }
#contactForm [hidden] { display: none; }
#contactForm .btn:disabled { opacity: .65; cursor: wait; }

/* Joined contact panel with understated, underlined form fields. */
.contact-section { background: #f1f3f5; padding: 80px 0; }
.contact-section .contact-grid {
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 0;
  align-items: stretch;
  box-shadow: 0 20px 55px rgba(18,27,38,.12);
}
.contact-section .contact-info { position: relative; isolation: isolate; overflow: hidden; background: var(--section-blue); padding: 60px 40px; color: #fff; }
.contact-section .contact-info::before { content: ''; position: absolute; top: -280px; right: -110px; width: 400px; height: 400px; border: 1px solid #ffffff09; border-radius: 50%; box-shadow: 0 0 0 60px #ffffff02, 0 0 0 120px #ffffff02; pointer-events: none; z-index: -1; }
.contact-section .contact-info .eyebrow { color: #7c899c; margin-bottom: 26px; }
.contact-section .contact-info h2 { color: #fff; font-size: clamp(34px,3.5vw,52px); line-height: 1.12; margin-bottom: 40px; }
.contact-section .info-item { gap: 14px; margin: 0; padding: 24px 0; border-top: 1px solid #ffffff26; }
.contact-section .info-item > div:last-child { min-width: 0; }
.contact-section .info-item .ic { width: 24px; height: 24px; background: transparent; color: #efe2ca; font-size: 18px; }
.contact-section .info-item h4 { color: #acc4d8; font-size: 10px; letter-spacing: .18em; margin-bottom: 8px; }
.contact-section .info-item a,
.contact-section .info-item p { color: #f1f4f5; font-size: 14px; line-height: 1.65; }
.contact-section .info-item a:hover { color: #d2ad68; }
.contact-form-panel { min-width: 0; background: #fff; padding: 60px; }
.contact-section .form { border: 0; padding: 0; background: transparent; }
.contact-section .form .field { margin-bottom: 24px; }
.contact-section .form label { font-size: 10px; letter-spacing: .13em; text-transform: uppercase; margin-bottom: 12px; }
.contact-section .form input,
.contact-section .form select,
.contact-section .form textarea { background: transparent; border: 0; border-bottom: 1px solid #d1d8e0; border-radius: 0; padding: 12px 0; font-size: 15px; }
.contact-section .form input::placeholder,
.contact-section .form textarea::placeholder { color: #8793a4; opacity: 1; }
.contact-section .form input:focus,
.contact-section .form select:focus,
.contact-section .form textarea:focus { border-bottom-color: #b28a43; box-shadow: 0 1px 0 #b28a43; }
.contact-section .form textarea { min-height: 140px; }
.contact-section .form-actions .btn { width: auto; justify-content: space-between; gap: 24px; }
@media (max-width: 1100px) {
  .contact-section .contact-info, .contact-form-panel { padding: 40px 28px; }
}
@media (max-width: 900px) {
  .contact-section .contact-grid { grid-template-columns: 1fr; }
  .contact-section .contact-info, .contact-form-panel { padding: 44px 36px; }
}
@media (max-width: 560px) {
  .contact-section { padding: 40px 0; }
  .contact-section .contact-info, .contact-form-panel { padding: 36px 24px; }
  .contact-section .form .grid-2 { grid-template-columns: 1fr; gap: 0 !important; }
}

/* Continue the inner-page blue background through the navigation. */
body:not(.home) .site-header { background: #121b26; color: #f1f4f5; }
body:not(.home) .site-header .brand__name,
body:not(.home) .site-header .brand__mark,
body:not(.home) .site-header .nav__links a { color: #f1f4f5; }
body:not(.home) .site-header .brand__name span { color: #b5c5d5; }
body:not(.home) .site-header .nav__links a:not(.btn):hover { color: #d2ad68; }
body:not(.home) .site-header .nav__toggle span { background: #f1f4f5; }
@media (max-width: 900px) {
  body:not(.home) .site-header .nav__links { background: #121b26; }
}

/* Consistent emphasis for section numbering. */
.services-grid .card::before,
:is(.about-page, .services-page) .principles-grid .card__icon,
.approach-number,
.vtile::after { font-weight: 600; }

/* Scroll entrances use independent transforms to preserve image hover zoom. */
.home .stat__accessible { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.home [data-count-to] { display: inline-block; min-width: 1ch; font-variant-numeric: tabular-nums; }
@media (prefers-reduced-motion: no-preference) {
  .home main { overflow-x: clip; }
  [data-scroll-reveal] { opacity: 0; translate: 0 42px; transition: opacity .75s ease var(--reveal-delay,0ms), translate .85s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms), scale .85s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms); }
  [data-scroll-reveal="left"] { translate: -48px 0; }
  [data-scroll-reveal="right"] { translate: 48px 0; }
  [data-scroll-reveal="pop"] { translate: 0 48px; scale: .96; }
  body:not(.home) { overflow-x: clip; }
  body:not(.home) [data-scroll-reveal] { translate: 0 24px; transition-duration: .6s, .7s, .7s; }
  body:not(.home) [data-scroll-reveal="left"] { translate: -24px 0; }
  body:not(.home) [data-scroll-reveal="right"] { translate: 24px 0; }
  body:not(.home) [data-scroll-reveal="pop"] { scale: .98; }
  [data-scroll-reveal].is-revealed,
  [data-scroll-reveal]:focus-within,
  body:not(.home) [data-scroll-reveal].is-revealed,
  body:not(.home) [data-scroll-reveal]:focus-within { opacity: 1; translate: 0 0; scale: 1; }
}
@media print {
  body [data-scroll-reveal] { opacity: 1; translate: none !important; scale: none !important; }
}
