/* concierge.css — Concierge page specific styles */

/* Hero: full-width image at natural aspect ratio + subtle dim overlay; text layered on top */
.ps-hero{
  position:relative;
  width:100vw;
  max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow:hidden;
  display:block;
}
.ps-hero img.ps-bg{
  position:relative;
  z-index:0;
  display:block;
  width:100%;
  height:auto;
}
.ps-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:rgba(0,0,0,0.2);
}
.ps-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(10,15,35,0.72) 0%, rgba(10,15,35,0.35) 55%, rgba(10,15,35,0.08) 100%);}
.ps-hero-content{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  transform:translateY(-50%);
  height:550px;
  max-height:100%;
  box-sizing:border-box;
  z-index:2;
  padding:56px 72px;
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  text-align:left;
  gap:8px;
}
.ps-hero-title{
  font-size:clamp(32px,4vw,56px);
  font-weight:300;
  line-height:1.1;
  letter-spacing:-0.01em;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
}
/* Shrink each line to text width so rules (underline) don’t span the viewport */
.ps-hero-title-line{
  display:inline-block;
  max-width:100%;
}
.ps-hero-title-line:first-child{
  border-bottom:2px solid rgba(255,255,255,0.7);
  padding-bottom:12px;
  margin-bottom:12px;
}
.ps-hero-sub{
  font-size:16px;
  font-style:italic;
  opacity:0.85;
  max-width:36em;
  margin:0;
}

@media(max-width:960px){
  .ps-hero-content{padding:40px 28px;}
}

/* MOBILE — concierge */
@media(max-width:768px){
  .ps-hero-content{
    padding:28px 20px 36px;
  }
  .ps-hero-title{
    font-size:clamp(26px,6vw,40px);
  }

  /* Two column info section */
  [style*="grid-template-columns:1fr 300px"]{grid-template-columns:1fr !important;gap:32px !important;padding:40px 20px !important;}

  /* 3-column services grid - become 1 column */
  [style*="repeat(3,1fr)"]{grid-template-columns:1fr !important;gap:20px !important;}
  .concierge-services-grid > div{padding:24px;border:1px solid var(--border);border-radius:4px;}
  .concierge-services-grid h3{font-size:16px !important;}
  .concierge-services-grid p{font-size:13px !important;}

  /* 5-column why choose section - become 1 column */
  [style*="repeat(5,1fr)"]{grid-template-columns:1fr !important;gap:20px !important;}
  .concierge-why-section{padding:40px 20px !important;}
  .concierge-why-section h2{font-size:24px !important;margin-bottom:24px !important;}
  .concierge-why-section > p{font-size:13px !important;margin-bottom:24px !important;}
  .concierge-why-section > div > div{padding:20px;border:1px solid var(--border);border-radius:4px;}
  .concierge-why-section h3{font-size:14px !important;margin-bottom:8px !important;}
  .concierge-why-section p{font-size:12px !important;}

  /* 5-column who we serve - become 2 columns then 1 */
  .concierge-who-section > div[style*="repeat(5,1fr)"]{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;padding:0 16px !important;}
  .concierge-who-section{padding:40px 20px !important;}
  .concierge-who-section h2{font-size:24px !important;margin-bottom:16px !important;}
  .concierge-who-section > p{font-size:13px !important;margin-bottom:20px !important;}
  .concierge-who-section > div > div{padding:16px;border:1px solid var(--border);border-radius:4px;}
  .concierge-who-section p{font-size:12px !important;}

  /* Text sections */
  [style*="padding:56px 72px"]{padding:40px 20px !important;}
  h2{font-size:22px !important;}
  p{font-size:14px !important;}
  li{font-size:13px !important;}
}
