/* Homepage sections — executives, services, industries, chauffeur, steps, insights */

/* ── Why executives choose ── */
.home-exec{padding-top:0;}
.home-exec-inner{
  padding:54px 0 10px;
  border-top:1px solid var(--line);
}
.home-exec-copy{
  max-width:760px;
  margin:0 auto 36px;
  text-align:center;
}
.home-exec-copy h2{font-size:30px;line-height:1.2;}
.home-exec-table{
  border:1px solid var(--line);
  border-radius:var(--r-3,18px);
  overflow:hidden;
  background:var(--paper-2);
  box-shadow:var(--sh-1,0 8px 24px -12px rgba(60,45,20,0.12));
}
.home-exec-table .home-exec-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:16px 20px;
  font-size:.9rem;
  font-weight:500;
  color:var(--ink-soft);
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.home-exec-table{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.home-exec-check{
  flex:0 0 auto;
  width:24px;height:24px;
  border-radius:50%;
  display:grid;place-items:center;
  color:var(--gold-2);
  border:1px solid rgba(184,134,11,.28);
  background:linear-gradient(135deg,rgba(255,253,248,.9),rgba(247,242,232,.5));
}
.home-exec-check svg{width:12px;height:12px;}

/* ── Services grid ── */
.home-services{padding-top:0;}
.home-svc-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.home-svc-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:0 20px 18px;
  border:1px solid var(--line);
  border-radius:var(--r-3,18px);
  background:var(--paper-2);
  color:inherit;
  text-decoration:none;
  transition:border-color .3s,transform .3s,box-shadow .3s;
  overflow:hidden;
}
.home-svc-media{
  width:calc(100% + 40px);
  margin:0 -20px 16px;
  aspect-ratio:16/9;
  background:linear-gradient(135deg,#F7F2E8,#E8D9B5);
  border-bottom:1px solid var(--line);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.home-svc-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.home-svc-media .crest-mini{
  width:46px;
  height:58px;
  opacity:.35;
}
.home-svc-card:hover{
  border-color:rgba(184,134,11,.35);
  transform:translateY(-4px);
  box-shadow:var(--sh-2);
}
.home-svc-card h3{
  font-family:var(--serif);
  font-size:24px;
  font-weight:500;
  line-height:1.25;
  margin-bottom:10px;
}
.home-svc-card p{
  font-size:18px;
  line-height:1.55;
  color:var(--ink-soft);
  flex:1;
  margin-bottom:16px;
}
.home-svc-link{
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--ink-muted);
  transition:color .2s;
}
.home-svc-card:hover .home-svc-link{color:var(--gold-2);}

/* ── Industries (dark band) ── */
.home-industries{padding:0;}
.home-industries-inner{
  background:linear-gradient(135deg,#1C1814,#12100D);
  border-radius:var(--r-4,24px);
  padding:64px 48px 56px;
  color:var(--cream,#F7F2E8);
  box-shadow:var(--sh-3);
}
.home-industries .eyebrow{color:var(--gold-3,#D4A82C);}
.home-industries h2{color:var(--cream,#F7F2E8);}
.home-industries .lead{color:rgba(247,242,232,.62);}
.home-ind-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:28px 20px;
}
.home-ind-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:12px;
}
.home-ind-icon{
  width:56px;height:56px;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold-3,#D4A82C);
  border:1px solid rgba(212,168,44,.22);
  border-radius:50%;
  background:linear-gradient(135deg,rgba(212,168,44,.08),rgba(212,168,44,.02));
}
.home-ind-icon svg{width:26px;height:26px;}
.home-ind-item span{
  font-size:.82rem;
  font-weight:500;
  letter-spacing:.04em;
  color:rgba(247,242,232,.82);
}

/* ── Chauffeur standards ── */
.home-chauffeur{padding-top:0;}
.home-chauffeur-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:16px;
}
.home-chauffeur-card{
  padding:24px 18px;
  border:1px solid var(--line);
  border-radius:var(--r-3,18px);
  background:var(--paper-2);
  text-align:center;
  transition:border-color .3s,transform .3s,box-shadow .3s;
}
.home-chauffeur-card:hover{
  border-color:rgba(184,134,11,.3);
  transform:translateY(-3px);
  box-shadow:var(--sh-2);
}
.home-chauffeur-icon{
  width:44px;height:44px;
  margin:0 auto 14px;
  display:flex;align-items:center;justify-content:center;
  color:var(--gold-2);
  border:1px solid rgba(184,134,11,.22);
  border-radius:50%;
  background:linear-gradient(135deg,#FFFEF9,#F1EADC);
}
.home-chauffeur-icon svg{width:22px;height:22px;}
.home-chauffeur-card h4{
  font-family:var(--serif);
  font-size:20px;
  margin-bottom:8px;
}
.home-chauffeur-card p{
  font-size:18px;
  line-height:1.5;
  color:var(--ink-muted);
}

/* ── Eight steps timeline ── */
.home-steps{padding-top:0;}
.home-steps-track{
  display:grid;
  grid-template-columns:repeat(8,1fr);
  gap:14px;
  position:relative;
  padding-top:8px;
}
.home-steps-track::before{
  content:"";
  position:absolute;
  top:34px;left:6%;right:6%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-2),var(--gold-2),transparent);
  z-index:0;
}
.home-step-item{
  position:relative;
  z-index:1;
  text-align:center;
}
.home-step-num{
  width:52px;height:52px;
  margin:0 auto 14px;
  border-radius:50%;
  display:grid;place-items:center;
  font-family:var(--serif);
  font-size:1.1rem;
  font-weight:500;
  color:var(--ink-muted);
  background:var(--paper-2);
  border:1px solid var(--line);
  transition:all .3s;
}
.home-step-num.active,
.home-step-item:hover .home-step-num{
  background:linear-gradient(135deg,#1C1814,#2B251D);
  color:var(--gold-5,#F5DFA3);
  border-color:rgba(232,200,112,.35);
  box-shadow:var(--sh-gold);
}
.home-step-item h4{
  font-family:var(--serif);
  font-size:20px;
  margin-bottom:6px;
}
.home-step-item p{
  font-size:18px;
  line-height:1.45;
  color:var(--ink-muted);
}

/* ── Ask the Concierge AI ── */
.home-concierge{padding-top:0;}
.home-concierge-panel{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:36px;
  align-items:stretch;
  padding:42px;
  border:1px solid var(--line);
  border-radius:var(--r-4,24px);
  background:linear-gradient(135deg,rgba(255,253,248,.92),rgba(247,242,232,.72));
  box-shadow:var(--sh-2);
}
.home-concierge-copy h2{font-size:30px;line-height:1.2;}
.home-concierge-note{font-size:.84rem;color:var(--ink-muted);margin-top:18px;}
.home-concierge-note a{color:var(--gold-2);font-weight:600;}
.home-concierge-chat{
  display:flex;
  flex-direction:column;
  min-height:360px;
  border:1px solid var(--line);
  border-radius:var(--r-3,18px);
  background:var(--paper-2);
  overflow:hidden;
}
.lux-chat-head{
  display:flex;align-items:center;gap:12px;
  padding:16px 18px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,rgba(255,252,245,.9),rgba(247,242,232,.5));
}
.lux-chat-avatar{
  width:36px;height:36px;border-radius:50%;
  background:var(--logo) center/70% no-repeat,linear-gradient(135deg,#1C1814,#2B251D);
  border:1px solid rgba(184,134,11,.25);
}
.lux-chat-head strong{display:block;font-size:.88rem;}
.lux-chat-head span{font-size:.72rem;color:var(--ink-muted);}
.lux-chat-messages{
  flex:1;
  padding:18px;
  overflow-y:auto;
  display:flex;
  flex-direction:column;
  gap:12px;
  max-height:280px;
}
.lux-chat-msg{
  max-width:88%;
  padding:12px 14px;
  border-radius:14px;
  font-size:.86rem;
  line-height:1.55;
}
.lux-chat-msg--bot{
  align-self:flex-start;
  background:linear-gradient(135deg,#F7F2E8,#EFE4D0);
  border:1px solid rgba(184,134,11,.16);
}
.lux-chat-msg--bot.thinking{opacity:.65;font-style:italic;}
.lux-chat-msg--user{
  align-self:flex-end;
  background:linear-gradient(135deg,#1C1814,#2B251D);
  color:var(--gold-5,#F5DFA3);
}
.lux-chat-prompts{
  display:flex;flex-wrap:wrap;gap:8px;
  padding:0 18px 14px;
}
.lux-chat-prompt{
  border:1px solid var(--line);
  border-radius:999px;
  padding:.45rem .8rem;
  font-size:.68rem;
  font-weight:600;
  letter-spacing:.04em;
  color:var(--ink-soft);
  background:rgba(255,252,245,.7);
  cursor:pointer;
  transition:all .25s;
}
.lux-chat-prompt:hover{border-color:rgba(184,134,11,.35);color:var(--gold-2);}
.lux-chat-form{
  display:flex;gap:10px;
  padding:14px 16px;
  border-top:1px solid var(--line);
  background:rgba(255,252,245,.55);
}
.lux-chat-form input{
  flex:1;
  border:1px solid var(--line);
  border-radius:999px;
  padding:.75rem 1rem;
  font-size:.86rem;
  background:var(--paper-2);
}
.lux-chat-send{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#1C1814,#2B251D);
  color:var(--gold-5,#F5DFA3);
  border:1px solid rgba(232,200,112,.25);
  cursor:pointer;
  transition:transform .2s;
}
.lux-chat-send:hover{transform:translateY(-1px);}
.lux-chat-send svg{width:18px;height:18px;}
.lux-chat-send:disabled,.lux-chat-form input:disabled{opacity:.55;cursor:not-allowed;}

/* ── Latest insights ── */
.home-insights{padding-top:0;}
.home-insights-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}

/* ── Responsive ── */
@media(max-width:1100px){
  .home-svc-grid{grid-template-columns:repeat(3,1fr);}
  .home-chauffeur-grid{grid-template-columns:repeat(3,1fr);}
  .home-steps-track{grid-template-columns:repeat(4,1fr);}
  .home-steps-track::before{display:none;}
}
@media(max-width:860px){
  .home-exec-table{grid-template-columns:repeat(2,1fr);}
  .home-concierge-panel{grid-template-columns:1fr;padding:28px 22px;}
  .home-svc-grid{grid-template-columns:repeat(2,1fr);}
  .home-ind-grid{grid-template-columns:repeat(3,1fr);}
  .home-insights-grid{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .home-exec-table,
  .home-svc-grid,
  .home-chauffeur-grid,
  .home-ind-grid,
  .home-steps-track{grid-template-columns:1fr;}
  .home-industries-inner{padding:42px 24px 36px;}
  .home-svc-card{padding:0 16px 16px;}
  .home-svc-media{width:calc(100% + 32px);margin:0 -16px 14px;}
}

/* ── Dark mode ── */
[data-theme="dark"] .home-exec-item{color:rgba(247,242,232,.72);}
[data-theme="dark"] .home-exec-check{background:rgba(255,255,255,.04);border-color:rgba(232,200,112,.25);}
[data-theme="dark"] .home-exec-table{background:linear-gradient(135deg,#1F1A14,#0A0805);border-color:rgba(184,134,11,.18);}
[data-theme="dark"] .home-concierge-panel{background:linear-gradient(135deg,#1F1A14,#12100D);border-color:rgba(184,134,11,.18);}
[data-theme="dark"] .home-concierge-chat,
[data-theme="dark"] .lux-chat-form input{background:#14110E;border-color:rgba(184,134,11,.18);}
[data-theme="dark"] .lux-chat-msg--bot{background:rgba(255,255,255,.04);color:rgba(247,242,232,.88);}
[data-theme="dark"] .home-svc-card,
[data-theme="dark"] .home-chauffeur-card{background:linear-gradient(135deg,#1F1A14,#0A0805);border-color:rgba(184,134,11,.18);}
[data-theme="dark"] .home-step-num{background:#1F1A14;border-color:rgba(184,134,11,.2);}
