/* ==========================================================================
   L&P MOTORS - brand layer over the shared engine.
   Loaded AFTER site.css. Flips the framework's light-ground assumptions to a
   dark gunmetal system and adds the bespoke sections for this build.
   ========================================================================== */

/* ---------- reassert the tight technical radius over the framework's
   rounding layer, which redefines :root further down site.css ---------- */
:root{ --r-sm:4px; --r-md:6px; --r-lg:10px; --r-pill:3px; }
.btn{ border-radius:var(--r-pill) !important; }

/* ---------- global grounds ---------- */
body{background:var(--cream); color:var(--ink); font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:600; letter-spacing:.01em;}
.wrap{max-width:1240px; margin:0 auto; padding:0 clamp(20px,5vw,56px);}
section{padding:clamp(64px,8vw,110px) 0;}
section.alt{background:var(--sand);}
p{color:rgba(223,232,236,.72); line-height:1.65;}

.eyebrow{font-size:11px; letter-spacing:4px; text-transform:uppercase;
  color:var(--gold); margin:0 0 14px; font-weight:600;}
.display{font-size:clamp(30px,4.4vw,56px); line-height:1.02; margin:0 0 18px;
  text-transform:uppercase; color:#fff;}
.lede{font-size:clamp(16px,1.5vw,19px); max-width:60ch;}

/* ---------- loader ---------- */
#bc-loader{background:var(--teal-deep);}
#bc-loader .ld-mark{color:#fff; text-transform:uppercase; letter-spacing:2px;}
#bc-loader .ld-kick{color:var(--gold);}

/* ---------- header ---------- */
.bc-head{background:rgba(10,14,17,.72); border-bottom:1px solid rgba(47,208,214,.14);}
.bc-head.is-condensed{background:rgba(10,14,17,.94);
  box-shadow:0 8px 30px -18px rgba(0,0,0,.9);}
.bc-logo .wm{color:#fff; text-transform:uppercase; letter-spacing:1px; font-size:24px;}
.bc-logo .kick{color:var(--gold);}
.navlink{color:rgba(223,232,236,.74); text-decoration:none; font-size:13px;
  letter-spacing:1.4px; text-transform:uppercase; font-weight:500;
  transition:color .25s var(--ease);}
.navlink:hover{color:#fff;}
.navlink.active{color:var(--gold);}
.nav-links{display:flex; gap:clamp(14px,2vw,28px); align-items:center;}
.nav-call{color:#fff; text-decoration:none; font-size:13px; letter-spacing:1px;
  white-space:nowrap;}
.nav-call b{color:var(--gold); font-weight:600;}
@media(max-width:1000px){.nav-links,.nav-call{display:none;}}
.bc-mobile{background:var(--teal-deep);}
.bc-mobile a{color:#fff !important;}
.bc-burger{display:none;}
@media(max-width:1000px){.bc-burger{display:inline-flex;}}

/* ---------- buttons (technical: near-square, no fuss) ---------- */
.btn{padding:14px 26px; font-size:12.5px; letter-spacing:2.2px;
  text-transform:uppercase; font-weight:600; border-radius:var(--r-pill);}
.btn-gold{background:var(--gold); color:#08252a;}
.btn-gold::before{background:var(--gold-lt);}
.btn-gold:hover{color:#08252a;}
.btn-outline{background:transparent; color:#fff; border:1px solid rgba(223,232,236,.32);}
.btn-outline::before{background:rgba(47,208,214,.16);}
.btn-outline:hover{color:#fff;}
.btn:hover{box-shadow:0 14px 30px -18px rgba(47,208,214,.8);}

/* ---------- hero ---------- */
.bc-hero{position:relative; min-height:92vh; display:flex; align-items:flex-end;
  overflow:hidden; background:var(--teal-deep);}
.hero-bg{position:absolute; inset:-6% 0 0; background-size:cover;
  background-position:center;
  background-color:#0b1014;
  background-image:
    radial-gradient(90% 70% at 72% 22%, rgba(47,208,214,.2), transparent 60%),
    radial-gradient(70% 60% at 12% 78%, rgba(47,208,214,.07), transparent 62%),
    linear-gradient(140deg,#0e161b 0%,#16272e 46%,#080d10 100%);}
.hero-bg::after{content:""; position:absolute; inset:0;
  background:
    linear-gradient(90deg,rgba(6,10,13,.86) 0%,rgba(6,10,13,.55) 34%,rgba(6,10,13,0) 62%),
    linear-gradient(180deg,rgba(8,12,15,.6) 0%,rgba(8,12,15,.15) 38%,rgba(8,12,15,.95) 100%);}
@media(max-width:760px){
  .hero-bg::after{background:linear-gradient(180deg,rgba(8,12,15,.7) 0%,rgba(8,12,15,.45) 38%,rgba(8,12,15,.96) 100%);}
}
.hero-inner{position:relative; z-index:3; width:100%;
  padding:clamp(120px,18vh,200px) 0 clamp(48px,7vw,84px);}
.hero-inner h1{font-size:clamp(42px,8.2vw,104px); line-height:.92; color:#fff;
  text-transform:uppercase; margin:0 0 20px; max-width:16ch;}
.hero-inner h1 em{font-style:normal; color:var(--gold); display:block;}
.hero-inner .lede{max-width:52ch; color:rgba(233,241,244,.9);}
.hero-cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:30px;}

/* trust strip under the hero */
.trust{border-top:1px solid rgba(47,208,214,.16);
  border-bottom:1px solid rgba(47,208,214,.16); background:var(--teal-deep);}
.trust .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:1px;}
.trust div{padding:26px 18px; text-align:center;}
.trust b{display:block; font-family:var(--font-display); font-size:22px;
  color:#fff; text-transform:uppercase; letter-spacing:1px;}
.trust span{font-size:11px; letter-spacing:2.4px; text-transform:uppercase;
  color:rgba(223,232,236,.5);}
@media(max-width:760px){.trust .wrap{grid-template-columns:repeat(2,1fr);}}

/* ---------- soft cards (dark) ---------- */
.grid-2,.grid-3,.grid-4{display:grid; gap:clamp(14px,1.6vw,22px);}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:980px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

.card{position:relative; overflow:hidden; padding:30px 26px 32px;
  background:linear-gradient(165deg,rgba(38,52,60,.92),rgba(19,26,31,.92));
  border:1px solid rgba(47,208,214,.16); border-radius:var(--r-lg);
  transition:transform .35s var(--ease), border-color .35s var(--ease);}
.card::before{content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .4s var(--ease);}
.card:hover{transform:translateY(-4px); border-color:rgba(47,208,214,.4);}
.card:hover::before{transform:scaleX(1);}
.card h3{font-size:22px; text-transform:uppercase; color:#fff; margin:0 0 10px;}
.card p{font-size:14.5px; margin:0;}
.card .num{font-size:11px; letter-spacing:3px; color:var(--gold); display:block;
  margin-bottom:14px;}

/* ---------- media frames (graceful: gradient shows if an image is missing) ---------- */
.frame{position:relative; overflow:hidden; border-radius:var(--r-lg);
  background-color:#131b20;
  background-image:
    radial-gradient(120% 90% at 18% 8%, rgba(47,208,214,.16), transparent 58%),
    linear-gradient(150deg,#1e2a31 0%,#131b20 52%,#0b1013 100%);
  border:1px solid rgba(47,208,214,.14); background-size:cover;
  background-position:center; min-height:280px;}
.frame::after{content:""; position:absolute; inset:0; pointer-events:none;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.022) 0 2px,transparent 2px 9px);}
.frame.tall{min-height:420px;}
.frame img{width:100%; height:100%; object-fit:cover; display:block;}

/* ---------- two-column feature ---------- */
.split{display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(24px,4vw,60px);
  align-items:center;}
.split.rev{direction:rtl;} .split.rev > *{direction:ltr;}
@media(max-width:880px){.split{grid-template-columns:1fr;}}

/* ---------- stats band ---------- */
.stats{background:linear-gradient(150deg,#14212a,#0a0e11);
  border-top:1px solid rgba(47,208,214,.16);
  border-bottom:1px solid rgba(47,208,214,.16);}
.stats .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
  text-align:center;}
.stats .n{color:#fff;}
.stats small{display:block; margin-top:8px; font-size:11px; letter-spacing:2.6px;
  text-transform:uppercase; color:rgba(223,232,236,.5);}
@media(max-width:760px){.stats .wrap{grid-template-columns:repeat(2,1fr);}}

/* ---------- soft list ---------- */
.slist{display:grid; gap:10px;}
.slist div{display:flex; gap:16px; align-items:flex-start; padding:18px 20px;
  background:linear-gradient(165deg,rgba(38,52,60,.7),rgba(19,26,31,.7));
  border:1px solid rgba(47,208,214,.12); border-radius:var(--r-md);}
.slist i{flex:0 0 8px; height:8px; margin-top:8px; border-radius:50%;
  background:var(--gold); box-shadow:0 0 0 4px rgba(47,208,214,.16);}
.slist b{display:block; color:#fff; font-size:15px; margin-bottom:3px;}
.slist span{font-size:14px; color:rgba(223,232,236,.62);}

/* ---------- stock (Google Drive fed) ---------- */
.stock-bar{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:26px;}
.chip{padding:9px 18px; font-size:12px; letter-spacing:1.6px; text-transform:uppercase;
  background:transparent; color:rgba(223,232,236,.7); cursor:pointer;
  border:1px solid rgba(47,208,214,.22); border-radius:var(--r-pill);
  font-family:inherit; transition:all .25s var(--ease);}
.chip:hover{color:#fff; border-color:rgba(47,208,214,.5);}
.chip.on{background:var(--gold); color:#08252a; border-color:var(--gold);}
.stock-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
@media(max-width:980px){.stock-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.stock-grid{grid-template-columns:1fr;}}
.stock-card{overflow:hidden; border-radius:var(--r-lg);
  border:1px solid rgba(47,208,214,.16); background:linear-gradient(165deg,#232f36,#131a1f);
  transition:transform .35s var(--ease), border-color .35s var(--ease);}
.stock-card:hover{transform:translateY(-4px); border-color:rgba(47,208,214,.42);}
.stock-card .ph{height:200px; background-size:cover; background-position:center;
  background-image:
    radial-gradient(110% 80% at 24% 12%, rgba(47,208,214,.14), transparent 60%),
    linear-gradient(150deg,#1e2a31,#0e1519);}
.stock-card .body{padding:20px 22px 24px;}
.stock-card h3{font-size:20px; margin:0 0 4px; color:#fff; text-transform:uppercase;}
.stock-card .meta{font-size:13px; color:rgba(223,232,236,.55); margin:0 0 14px;}
.stock-card .price{font-family:var(--font-display); font-size:26px; color:var(--gold);
  letter-spacing:.5px;}
.stock-card .tag{display:inline-block; font-size:10px; letter-spacing:2px;
  text-transform:uppercase; padding:5px 10px; border-radius:var(--r-pill);
  background:rgba(47,208,214,.14); color:var(--gold-lt); margin-bottom:12px;}
.stock-empty{padding:50px 30px; text-align:center; border-radius:var(--r-lg);
  border:1px dashed rgba(47,208,214,.28); color:rgba(223,232,236,.6);}

/* ---------- CTA band ---------- */
.cta-band{position:relative; overflow:hidden;
  background:linear-gradient(140deg,#123037,#0a0e11 70%);
  border-top:1px solid rgba(47,208,214,.18);}
.cta-band::after{content:""; position:absolute; width:70vw; height:70vw;
  right:-22vw; top:-32vw; border-radius:50%;
  background:radial-gradient(circle,rgba(47,208,214,.16),transparent 62%);
  pointer-events:none;}
.cta-band .wrap{position:relative; z-index:2; text-align:center;}

/* ---------- forms ---------- */
.field{display:block; margin-bottom:14px;}
.field span{display:block; font-size:11px; letter-spacing:2.4px; text-transform:uppercase;
  color:rgba(223,232,236,.55); margin-bottom:7px;}
.field input,.field select,.field textarea{width:100%; box-sizing:border-box; padding:14px 16px;
  background:rgba(10,14,17,.7); border:1px solid rgba(47,208,214,.2);
  border-radius:var(--r-md); color:#fff; font-family:inherit; font-size:15px;}
.field textarea{min-height:130px; resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;
  border-color:var(--gold);}

/* ---------- info card ---------- */
.info-card{background:linear-gradient(165deg,rgba(38,52,60,.85),rgba(19,26,31,.85));
  border:1px solid rgba(47,208,214,.16); border-radius:var(--r-lg); padding:8px 26px;}
.info-card .row{padding:18px 0; border-bottom:1px solid rgba(47,208,214,.12);
  display:flex; justify-content:space-between; gap:18px; font-size:14.5px;}
.info-card .row:last-child{border-bottom:0;}
.info-card .row b{color:#fff; font-weight:600;}
.info-card .row span{color:rgba(223,232,236,.66); text-align:right;}

/* ---------- footer ---------- */
.foot{background:var(--teal-deep); border-top:1px solid rgba(47,208,214,.14);
  padding:clamp(48px,6vw,80px) 0 34px;}
.foot .cols{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px;}
@media(max-width:820px){.foot .cols{grid-template-columns:1fr;}}
.foot h4{font-size:12px; letter-spacing:3px; text-transform:uppercase;
  color:var(--gold); margin:0 0 16px;}
.foot a{display:block; color:rgba(223,232,236,.66); text-decoration:none;
  font-size:14.5px; padding:5px 0;}
.foot a:hover{color:#fff;}
.foot .wm{font-family:var(--font-display); font-size:30px; color:#fff;
  text-transform:uppercase; letter-spacing:1px; margin:0 0 12px;}
.foot .fine{margin-top:36px; padding-top:20px;
  border-top:1px solid rgba(47,208,214,.12); font-size:12.5px;
  color:rgba(223,232,236,.4); display:flex; justify-content:space-between;
  gap:16px; flex-wrap:wrap;}

/* ---------- misc overrides for framework leftovers ---------- */
.h-rooms{background:var(--cream);}
.h-track > article{background:linear-gradient(165deg,#232f36,#131a1f);
  border:1px solid rgba(47,208,214,.16);}
.sel-btn{color:#fff; border:1px solid rgba(47,208,214,.4);}
.sel-btn.is-selected{background:var(--gold); color:#08252a; border-color:var(--gold);}
::selection{background:var(--gold); color:#08252a;}
#bc-top{background:var(--gold); color:#08252a;}

/* ---------- mobile hardening ---------- */
img,iframe{max-width:100%;}
#bc-loader .ld-bar,#bc-loader .ld-bar i{max-width:100%;}
@media(max-width:620px){
  .info-card .row{flex-direction:column; gap:4px;}
  .info-card .row span{text-align:left;}
  .hero-cta .btn{width:100%; justify-content:center;}
}
