.landing{
  --brand-orange:#d9823b;
  --landing-bg:#172019;
  --landing-panel:#283229;
  --landing-line:rgba(217,130,59,.42);
  min-height:100vh;
  background:var(--landing-bg);
  color:#fff;
}

.landing .brand{color:#fff}

.landing-nav{
  position:absolute;
  z-index:10;
  inset:0 0 auto;
  min-height:86px;
  padding:0 clamp(24px,5vw,84px);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:32px;
  border-bottom:1px solid var(--landing-line);
}

.landing-nav nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:5px;
  border:1px solid var(--landing-line);
  background:rgba(16,25,19,.42);
  backdrop-filter:blur(14px);
}

.landing-nav nav a{
  min-height:40px;
  padding:11px 18px;
  display:flex;
  align-items:center;
  color:#f5f2ea;
  text-decoration:none;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:background-color .2s,color .2s;
}

.landing-nav nav a:hover,
.landing-nav nav a:focus-visible{background:#d5bda0;color:#20271f}

.landing-phone{
  justify-self:end;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  letter-spacing:.04em;
  border-bottom:1px solid var(--brand-orange);
  padding:11px 0;
}

.landing-contacts{justify-self:end;display:flex;align-items:center;gap:20px}
.landing-email{color:#fff;text-decoration:none;font-size:12px;letter-spacing:.03em;border-bottom:1px solid var(--brand-orange);padding:11px 0}

.landing-hero{
  position:relative;
  isolation:isolate;
  min-height:100svh;
  padding:142px clamp(24px,6vw,104px) 54px;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 2%,rgba(132,107,75,.34),transparent 34%),
    radial-gradient(circle at 10% 72%,rgba(82,108,94,.2),transparent 34%),
    linear-gradient(145deg,#1d271f 0%,#111813 100%);
}

.landing-grid{
  position:absolute;
  z-index:-2;
  inset:0;
  opacity:.24;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom,#000,transparent 88%);
}

.landing-glow{
  position:absolute;
  z-index:-1;
  width:520px;
  height:520px;
  right:-180px;
  top:110px;
  border:1px solid rgba(213,189,160,.25);
  border-radius:50%;
  box-shadow:0 0 0 86px rgba(213,189,160,.025),0 0 0 172px rgba(213,189,160,.018);
}

.landing-inner{width:min(1480px,100%);margin:0 auto}
.landing-copy{max-width:1180px}

.landing-eyebrow{
  margin:0 0 24px;
  color:#d5bda0;
  font-size:11px;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.landing h1{
  max-width:1080px;
  margin:0;
  color:#fff;
  font-size:clamp(54px,6.1vw,94px);
  font-weight:500;
  line-height:.96;
  letter-spacing:-.055em;
  text-wrap:balance;
}

.landing-summary{
  max-width:1050px;
  margin-top:34px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 270px;
  gap:50px;
  align-items:end;
}

.landing-summary>p:first-child{
  max-width:760px;
  margin:0;
  color:#d9dfda;
  font-size:17px;
  line-height:1.65;
}

.landing-experience{
  margin:0;
  padding-left:20px;
  border-left:1px solid rgba(255,255,255,.25);
}

.landing-experience strong,
.landing-experience span{display:block}
.landing-experience strong{font-size:18px;font-weight:600}
.landing-experience span{margin-top:7px;color:#aeb8b1;font-size:11px;line-height:1.5}

.landing-scope{
  margin:30px 0 0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  list-style:none;
}

.landing-scope li{
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.16);
  color:#c7d0ca;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.audience-grid{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.audience-card{
  position:relative;
  min-height:300px;
  overflow:hidden;
  color:#fff;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.18);
  background:var(--landing-panel);
}

.audience-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease,filter .55s ease;
}

.audience-private img{object-position:50% 55%}
.audience-corporate img{object-position:58% 50%}

.audience-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(13,22,16,.94) 0%,rgba(13,22,16,.7) 55%,rgba(13,22,16,.2) 100%);
}

.audience-card::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:3px;
  background:#d5bda0;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s ease;
}

.audience-content{
  position:relative;
  z-index:1;
  min-height:300px;
  padding:34px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.audience-label{
  color:#d5bda0;
  font-size:10px;
  font-weight:600;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.audience-content>strong{
  max-width:520px;
  margin-top:16px;
  font-size:clamp(27px,2.4vw,38px);
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.035em;
}

.audience-description{
  max-width:510px;
  margin-top:14px;
  color:#d5dbd6;
  font-size:14px;
  line-height:1.6;
}

.audience-action{
  width:100%;
  margin-top:auto;
  padding-top:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-top:1px solid rgba(255,255,255,.24);
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
}

.audience-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .25s}
.audience-card:hover img,.audience-card:focus-visible img{transform:scale(1.035);filter:saturate(1.08)}
.audience-card:hover::after,.audience-card:focus-visible::after{transform:scaleX(1)}
.audience-card:hover .audience-action svg,.audience-card:focus-visible .audience-action svg{transform:translate(3px,-3px)}
.audience-card:focus-visible{outline:3px solid #d5bda0;outline-offset:4px}

.landing-footer{
  padding:26px clamp(24px,6vw,104px);
  display:grid;
  grid-template-columns:repeat(3,1fr);
  align-items:center;
  gap:24px;
  background:#0e1510;
  color:#9eaaa2;
  font-size:11px;
  line-height:1.5;
  letter-spacing:.04em;
}

.landing-footer p{margin:0}
.landing-footer p:nth-child(2){text-align:center}
.landing-footer p:last-child{text-align:right}
.landing-footer a{color:#fff;text-decoration:none}

@media(max-width:900px){
  .landing-nav{grid-template-columns:auto 1fr auto;gap:18px}
  .landing-nav nav a{padding-inline:12px;font-size:10px}
  .landing-summary{grid-template-columns:1fr 230px;gap:28px}
  .audience-content{padding:28px}
}

@media(max-width:760px){
  .landing-nav{
    min-height:112px;
    padding:14px 5vw;
    grid-template-columns:1fr auto;
    grid-template-areas:"brand phone" "sections sections";
    gap:12px;
  }
  .landing-nav .brand{grid-area:brand}
  .landing-nav nav{
    grid-area:sections;
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:4px;
  }
  .landing-nav nav a{justify-content:center;text-align:center;padding:10px 7px;font-size:9px}
  .landing-phone{grid-area:phone;font-size:10px}
  .landing-hero{padding:150px 5vw 36px}
  .landing-grid{background-size:46px 46px}
  .landing-glow{width:330px;height:330px;right:-170px;top:150px}
  .landing-eyebrow{margin-bottom:18px}
  .landing h1{font-size:clamp(42px,12.3vw,62px);line-height:.98}
  .landing-summary{display:block;margin-top:26px}
  .landing-summary>p:first-child{font-size:15px;line-height:1.6}
  .landing-experience{margin-top:22px}
  .landing-scope{margin-top:24px}
  .audience-grid{grid-template-columns:1fr;margin-top:34px;gap:14px}
  .audience-card,.audience-content{min-height:268px}
  .audience-content{padding:26px 24px}
  .audience-content>strong{font-size:30px}
  .audience-description{font-size:13px}
  .landing-footer{padding:28px 5vw;grid-template-columns:1fr;gap:8px}
  .landing-footer p:nth-child(2),.landing-footer p:last-child{text-align:left}
}

@media(max-width:390px){
  .landing-nav{grid-template-columns:1fr;grid-template-areas:"brand" "sections"}
  .landing-phone{display:none}
  .landing h1{font-size:40px}
  .landing-scope li{font-size:9px}
  .audience-content>strong{font-size:27px}
}

@media(prefers-reduced-motion:reduce){
  .audience-card img,.audience-card::after,.audience-action svg{transition:none}
}

/* Keep the public landing page on the same warm orange accent. */
.landing header>.brand span{color:var(--brand-orange);background:#171a16;border-color:#171a16}
.landing header>.brand b{color:#171a16;border-color:#171a16}
.landing-nav{border-bottom-color:rgba(217,130,59,.58)}
.landing-nav nav a:hover,.landing-nav nav a:focus-visible{background:var(--brand-orange);color:#172019}
.landing-eyebrow,.audience-label{color:var(--brand-orange)}
.audience-card::after,.carousel-progress i{background:var(--brand-orange)}
.landing-experience,.audience-action{border-color:rgba(217,130,59,.42)}
.audience-card:focus-visible{outline-color:var(--brand-orange)}
.landing-footer{border-top:1px solid rgba(217,130,59,.5)}
.landing-footer a{text-decoration-color:var(--brand-orange)}
@media(max-width:760px){.landing-contacts{grid-area:phone;flex-direction:column;align-items:flex-end;gap:1px}.landing-phone,.landing-email{padding:4px 0;font-size:9px}}
@media(max-width:760px){.landing-nav>.brand{margin-top:-14px}}
@media(max-width:390px){.landing-contacts{display:none}}

/* The public header follows the same typography as every other site header. */
.landing-nav :is(nav,.landing-contacts) a{
  color:inherit;
  font-family:Manrope,Arial,sans-serif;
  font-size:11px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:.065em;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  padding-block:10px;
  border-bottom:1px solid var(--brand-orange);
}
@media(max-width:760px){.landing-nav :is(nav,.landing-contacts) a{font-size:9px;letter-spacing:.055em;padding-block:4px}}
