/* Global Waves luxury design layer — Bootstrap 5 + Roboto */
:root {
  --forest:#063d31;
  --forest2:#0a5945;
  --gold:#c9a45c;
  --cream:#faf8f3;
  --ink:#23332e
}
html {
  scroll-behavior:smooth
}
html,body {
  font-family:Roboto,Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.75;
  color:#4b5752;
  background:var(--cream)
}
body {
  overflow-x:hidden
}
a {
  color:var(--forest2)
}
.sidebar {
  width:258px;
  background:linear-gradient(170deg,#073a30,#092f29);
  box-shadow:5px 0 35px #001b161a
}
.brand {
  height:auto;
  min-height:126px;
  padding:24px 13px 20px;
  border-bottom:1px solid #ffffff24
}

.lux-logo {
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff!important;
  text-decoration:none!important
}
.lux-mark {
  width:57px;
  height:57px;
  flex-shrink:0;
  color:#fff
}
.lux-mark svg {
  width:100%;
  height:100%
}
.lux-logo-type strong {
  display:block;
  font-size:17px;
  line-height:1.2;
  letter-spacing:1.3px;
  color:#fff
}
.lux-logo-type small {
  display:block;
  font-size:8px;
  letter-spacing:1.8px;
  color:#d9bf82;
  margin-top:7px
}
.nav {
  display:block;
  padding:18px 12px
}
.nav a,.nav button {
  font-family:Roboto,sans-serif;
  background:transparent!important;
  border:0;
  border-radius:8px;
  color:#e6eee9!important;
  padding:12px 15px;
  font-size:14px!important;
  transition:background .25s,transform .25s,color .25s
}
.nav a:hover,.nav button:hover,.nav a.active {
  background:#ffffff16!important;
  color:#f5d895!important;
  transform:translateX(3px)
}
.subnav {
  background:#ffffff0b;
  border-left:2px solid var(--gold);
  margin-left:15px
}
.subnav a {
  font-size:14px!important;
  padding:8px 12px
}
.sidefoot {
  background:transparent;
  border-top:1px solid #ffffff26;
  color:#d2dfd7;
  font-size:11px
}
.content {
  margin-left:258px;
  padding:0 4% 65px;
  min-height:calc(100vh - 70px)
}
.footer {
  margin-left:258px;
  background:#eae8df;
  color:#52635a;
  font-size:12px;
  letter-spacing:0
}
.hero-wrap {
  margin:0 -4.35% 46px;
  overflow:hidden;
  background:#0a3029
}
.hero-wrap:after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#052e2ba8,#052e2b44 70%,#052e2b8c);
  pointer-events:none
}
.banner,.home-banner {
  height:355px;
  object-fit:cover;
  transition:transform 8s ease
}
.hero-wrap:hover .banner {
  transform:scale(1.035)
}
.hero-text {
  z-index:1;
  top:50%;
  left:7%;
  right:7%;
  transform:translateY(-50%);
  background:transparent;
  padding:0;
  text-align:left;
  max-width:800px
}
.hero-eyebrow {
  display:block;
  color:#e8c783;
  font-size:12px;
  letter-spacing:3px;
  font-weight:700;
  margin-bottom:14px
}
.hero-text h1 {
  color:#fff!important;
  font-size:clamp(28px,3.2vw,48px)!important;
  font-weight:800;
  letter-spacing:-.5px;
  line-height:1.2;
  text-shadow:0 3px 18px #0004
}
.hero-text p {
  color:#f3e9d5;
  font-size:18px;
  font-style:normal;
  line-height:1.7;
  max-width:640px
}
.hero-text p b {
  color:#fff
}
h1,h2,h3 {
  font-family:Roboto,sans-serif;
  color:var(--forest);
  font-weight:700
}
h2 {
  font-size:clamp(23px,2vw,30px);
  margin:35px 0 17px;
  letter-spacing:-.4px
}
h2:after {
  content:"";
  display:block;
  width:52px;
  height:3px;
  background:var(--gold);
  margin-top:12px;
  border-radius:3px
}
h3 {
  font-size:18px
}
p {
  font-size:14px;
  line-height:1.85
}
.services {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin-top:27px
}
.service {
  background:#fff;
  border:1px solid #e9e8df;
  border-radius:13px;
  padding:26px 23px;
  min-height:285px;
  box-shadow:0 5px 20px #092e2010;
  transition:transform .35s,box-shadow .35s,border-color .35s;
  position:relative;
  overflow:hidden
}
.service:before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:3px;
  background:linear-gradient(90deg,var(--gold),#e8d4a3);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s
}
.service:hover {
  transform:translateY(-7px);
  box-shadow:0 20px 38px #092e2026;
  border-color:#dfd5bd
}
.service:hover:before {
  transform:scaleX(1)
}
.service .symbol {
  width:50px;
  height:50px;
  border-radius:12px;
  background:#f0f5ef;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--forest2);
  font-size:26px;
  margin-bottom:18px
}
.service h3 {
  font-size:14px;
  color:var(--forest);
  font-weight:800;
  letter-spacing:.35px;
  line-height:1.5
}
.service p {
  font-size:14px;
  line-height:1.7;
  margin:10px 0 22px
}
.service a {
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  color:var(--forest2)
}
.service a:after {
  content:' →';
  color:var(--gold)
}
.associates-section {
  background:#f0eee7;
  margin-top:55px;
  padding:30px;
  border-radius:16px
}
.partner-grid {
  background:transparent;
  gap:15px
}
.partner {
  border:1px solid #eee7d9;
  border-radius:12px;
  background:#fff;
  transition:transform .3s,box-shadow .3s
}
.partner:hover {
  transform:translateY(-5px);
  box-shadow:0 12px 24px #0001
}
.partner small,.quote,.columns p {
  font-size:14px
}
.quote {
  border-left:3px solid var(--gold);
  background:#fff;
  border-radius:8px;
  padding:20px;
  line-height:1.8
}
.form input,.form textarea {
  border-radius:7px;
  padding:12px;
  font-size:14px
}
.form input:focus,.form textarea:focus {
  outline:2px solid #b9d2c4
}
.form button {
  background:var(--forest);
  border-radius:7px;
  font-size:14px;
  padding:12px 24px;
  transition:background .2s
}
.form button:hover {
  background:var(--forest2)
}
.darkpanel {
  background:var(--forest);
  border-radius:12px
}
.menu-toggle {
  font-family:Roboto,sans-serif
}
.reveal-ready {
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s ease,transform .7s ease
}
.reveal-ready.revealed {
  opacity:1;
  transform:translateY(0)
}
@media(max-width:1200px) {
  .services {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}
@media(max-width:950px) {
  .sidebar {
    width:225px
  }
  .content,.footer {
    margin-left:225px
  }
}
@media(max-width:700px) {
  .menu-toggle {
    display:block;
    background:var(--forest);
    color:white;
    border:0;
    padding:13px 17px;
    position:sticky;
    top:0;
    z-index:20
  }
  .sidebar {
    display:none;
    top:48px;
    width:min(300px,85vw);
    overflow-y:auto
  }
  .sidebar.show {
    display:flex
  }
  .content,.footer {
    margin-left:0
  }
  .content {
    padding:0 17px 35px
  }
  .hero-wrap {
    margin:0 -17px 28px
  }
  .banner,.home-banner {
    height:330px
  }
  .hero-text {
    left:7%;
    right:7%
  }
  .hero-text h1 {
    font-size:27px!important
  }
  .hero-text p {
    font-size:14px
  }
  .hero-text p br {
    display:none
  }
  .services {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px
  }
  .service {
    padding:18px 14px;
    min-height:unset
  }
  .service .symbol {
    margin-bottom:12px
  }
  .associates-section {
    padding:18px
  }
  .footer {
    padding:20px
  }
  .contact-grid,.testimonials {
    grid-template-columns:1fr
  }
}
@media(max-width:520px) {
  .services {
    grid-template-columns:1fr
  }
  .service {
    min-height:unset
  }
  .hero-text h1 {
    font-size:25px!important
  }
  .partner-grid {
    grid-template-columns:1fr
  }
  .partner:last-child {
    grid-column:auto
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important
  }
  .reveal-ready {
    opacity:1;
    transform:none
  }
}
/* October 2026 refinement: clear hero and consistent page spacing */
.hero-wrap {
  position:relative;
  isolation:isolate;
  min-height:380px;
  background:#07382f
}
.hero-wrap .home-banner {
  display:block;
  width:100%;
  height:380px;
  background: radial-gradient(ellipse at 75% 45%,#062f62 0%,transparent 43%),radial-gradient(ellipse at 92% 85%,#062e60 0%,transparent 30%),linear-gradient(120deg,#062e60 5%,#062c5c 65%,#062d5f 100%);
  position:relative
}
.hero-wrap:after {
  background:linear-gradient(90deg,rgba(2,30,26,.65),rgba(2,30,26,.08))
}
.hero-wrap .hero-text {
  position:absolute;
  z-index:2;
  top:50%;
  left:7%;
  right:6%;
  max-width:900px
}
.hero-wrap .hero-text h1 {
  font-size:clamp(38px,5vw,70px)!important;
  letter-spacing:2px;
  line-height:1.1;
  margin:0 0 14px
}
.hero-subtitle {
  font-size:clamp(15px,1.6vw,22px);
  font-weight:600;
  letter-spacing:1.4px;
  color:#f4d99f;
  margin-bottom:14px
}
.hero-wrap .hero-text p {
  font-size:16px;
  max-width:690px;
  margin:0
}
.content:not(:has(.hero-wrap)) {
  padding-top:42px
}
.content:not(:has(.hero-wrap))>h1:first-child,.content:not(:has(.hero-wrap))>h2:first-child {
  margin-top:0
}
@media(max-width:700px) {
  .hero-wrap,.hero-wrap .home-banner {
    min-height:350px;
    height:350px
  }
  .hero-wrap .hero-text h1 {
    font-size:38px!important
  }
  .hero-subtitle {
    font-size:14px;
    letter-spacing:.7px
  }
  .hero-wrap .hero-text p {
    font-size:14px
  }
  .content:not(:has(.hero-wrap)) {
    padding-top:26px
  }
}
/* Photographic hero upgrades – October 2026 */
.hero-wrap .home-banner {
  background-image:url('business-investment.jpg');
  background-size:cover;
  background-position:center 52%;
  height:460px;
  min-height:460px;
  filter:saturate(.83)
}
.hero-wrap {
  min-height:460px
}
.hero-wrap:after {
  background:linear-gradient(90deg,rgba(2,24,23,.91) 0%,rgba(4,34,30,.76) 46%,rgba(4,34,30,.28) 100%)
}
.hero-wrap .hero-text {
  max-width:850px
}
.hero-wrap .hero-text h1 {
  color:#fff!important;
  text-shadow:0 4px 20px #0007
}
.inner-photo-hero {
  position:relative;
  isolation:isolate;
  min-height:295px;
  margin:0 -4.35% 42px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background-image:var(--page-photo);
  background-size:cover;
  background-position:center
}
.inner-photo-hero:before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(3,30,27,.91),rgba(3,30,27,.58) 62%,rgba(3,30,27,.27));
  z-index:-0
}
.inner-photo-content {
  position:relative;
  z-index:1;
  padding:54px 7%;
  max-width:850px
}
.inner-photo-content h1 {
  font-size:clamp(29px,3.4vw,48px)!important;
  color:#fff!important;
  margin:12px 0!important;
  line-height:1.2;
  text-shadow:0 4px 18px #0005
}
.inner-eyebrow {
  color:#f0ce86;
  letter-spacing:3px;
  font-size:12px;
  font-weight:700
}
.content:has(.inner-photo-hero) {
  padding-top:0!important
}
@media(max-width:700px) {
  .hero-wrap,.hero-wrap .home-banner {
    height:400px;
    min-height:400px
  }
  .inner-photo-hero {
    min-height:220px;
    margin:0 -17px 27px
  }
  .inner-photo-content {
    padding:35px 24px
  }
  .inner-photo-content h1 {
    font-size:29px!important
  }
  .hero-wrap .hero-text h1 {
    font-size:38px!important
  }
}
/* Reliable full-width photo headers on every inner page */
.inner-photo-hero {
  position:relative!important;
  isolation:isolate;
  min-height:310px!important;
  background-size:cover!important;
  background-position:center!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important
}
.inner-photo-hero .page-hero-image {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
  display:block
}
.inner-photo-hero::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:1!important;
  background:linear-gradient(90deg,rgba(3,29,27,.88),rgba(3,29,27,.35))!important
}
.inner-photo-hero .inner-photo-content {
  position:relative;
  z-index:2!important
}
@media(max-width:700px) {
  .inner-photo-hero {
    min-height:235px!important
  }
}
