/* HERO */
.hero{
  position: relative;
  padding: 110px 0 40px 0;
  overflow: hidden;
}

.hero-bg{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.15)),
    url("../assets/img/the crew.jpg");
  background-size: cover;
  background-position: center 20%;
  background-repeat: no-repeat;
  filter:saturate(1.05) contrast(1.05);
  opacity: .95;
}

[data-theme="light"] .hero-bg{
  filter:saturate(1.02) contrast(1.02);
  opacity: .85;
}

.hero-grid{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 720px) 1fr;
  gap: 18px;
  align-items: start;
  justify-content: start;
}

/* ✅ keep the SAME size — just shift it left */
.hero-copy{
  justify-self: start;
  max-width: 720px;
  margin-left: -350px;

  padding: 18px;
  border-radius: var(--radius2);
  background: rgba(0,0,0,.35);
  border: 1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
}

.hero-copy h1{
  margin: 12px 0 10px 0;
  font-size: clamp(34px, 4.8vw, 56px);
  letter-spacing:-.03em;
  line-height:1.05;
  text-shadow: 0 18px 55px rgba(0,0,0,.35);
}

[data-theme="light"] .hero-copy{
  background: rgba(255,255,255,.75);
  border-color: rgba(16,24,40,.12);
}

.hero-card{
  margin-top: 160px;
}

.accent{
  background: linear-gradient(135deg, #fff, rgba(255,255,255,.75));
  -webkit-background-clip: text;
  background-clip:text;
  color: transparent;
}
[data-theme="light"] .accent{
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

.lead{max-width: 680px; color: rgba(255,255,255,.88)}
[data-theme="light"] .lead{color: rgba(16,24,40,.85)}
.hero-actions{display:flex; gap:12px; margin-top:16px; flex-wrap:wrap}

.trust-row{
  margin-top: 20px;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.trust-item{
  padding: 12px 12px;
  border-radius: var(--radius);
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.25);
}
[data-theme="light"] .trust-item{
  background: rgba(255,255,255,.75);
  border-color: rgba(16,24,40,.12);
}
.trust-title{font-weight:800}
.trust-sub{color: var(--muted); font-size:13px}

.hero-card{
  border-radius: var(--radius2);
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.35);
  box-shadow: var(--shadow);
  overflow:hidden;
}
[data-theme="light"] .hero-card{
  background: rgba(255,255,255,.82);
  border-color: rgba(16,24,40,.12);
}
.hero-card-top{padding:16px 16px 8px 16px}
.hero-card-title{font-weight:900; font-size:18px}
.hero-card-sub{color: var(--muted); font-size:13px}
.hero-card-cta{padding: 14px 16px 16px 16px}

/* SERVICES ACCORDION */
.services-accordion{display: grid; gap: 8px;}

.service-group{
  border: 1px solid var(--border);
  border-radius: 18px;
  background: rgba(255,255,255,.03);
  overflow: hidden;
  box-shadow: 0 10px 28px rgba(0,0,0,.14);
}
[data-theme="light"] .service-group{background: rgba(255,255,255,.92);}

.service-toggle{
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  padding: 11px 14px;
  border: 0;
  background: transparent;
  color: var(--text);
  cursor: pointer;
  text-align: left;

  transition: background var(--speed), border-color var(--speed);
}
.service-toggle:hover{background: rgba(255,255,255,.04);}
[data-theme="light"] .service-toggle:hover{background: rgba(16,24,40,.04);}

.service-title{
  margin: 0;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: -.01em;
  line-height: 1.15;
}

.service-chevron{
  font-size: 16px;
  opacity: .85;
  transition: transform var(--speed);
}

.service-panel{
  display: none;
  padding: 0 14px 14px 14px;
}

.service-sub{
  margin: 4px 0 10px 0;
  color: var(--muted);
  max-width: 860px;
  font-size: 13px;
  line-height: 1.35;
}

.service-group.is-open .service-panel{display: block;}
.service-group.is-open .service-chevron{transform: rotate(180deg);}

.service-group:not(:first-child){
  padding-top: 0;
  border-top: 0;
}

.service-panel .cards{margin-top: 6px;}

/* GALLERY */
.gallery{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.shot{
  height: 210px;
  border-radius: var(--radius2);
  border: 1px solid var(--border);

  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: transparent;

  display:block;
  box-shadow: 0 12px 45px rgba(0,0,0,.22);
  transition: transform var(--speed), box-shadow var(--speed), border-color var(--speed);
}
.shot:hover{
  transform: translateY(-2px);
  box-shadow: var(--shadow);
  border-color: rgba(255,59,59,.25);
}

/* AREAS */
.areas-grid{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.area-pill{
  padding: 12px 12px;
  border-radius: 16px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.03);
  color: var(--text);
  transition: transform var(--speed), border-color var(--speed), background var(--speed);
}
[data-theme="light"] .area-pill{background: rgba(255,255,255,.9)}
.area-pill:hover{transform: translateY(-1px); border-color: rgba(255,59,59,.25)}
.area-note{
  margin-top: 14px;
  color: var(--muted);
  padding: 14px;
  border-radius: var(--radius2);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.03);
}
[data-theme="light"] .area-note{background: rgba(255,255,255,.9)}

/* REVIEWS GRID */
.review-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.review-grid .embed-card{
  height: 100%;
  display: flex;
  flex-direction: column;
}

.review-grid .embed-slot,
.review-grid .fb-embed{
  margin-top: 12px;
  flex: 1;
  max-height: 360px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* CONTACT LAYOUT */
.contact-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 12px;
  align-items:start;
}

/* FOOTER */
.footer{
  padding: 26px 0;
  border-top:1px solid var(--border);
  background: rgba(0,0,0,.18);
}
[data-theme="light"] .footer{background: rgba(255,255,255,.65)}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr 1fr;
  gap: 10px;
  align-items:start;
}
.footer-brand{font-weight:900}

.footer-bottom{
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  text-align: center;
}

.footer-copy{opacity: .9}

.tm{
  font-size: 11px;
  margin-left: 2px;
  vertical-align: super;
  opacity: .85;
}

/* FIX: Center Contact + Calculator sections */
#contact .section-head,
#calculator .section-head{
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

#contact .contact-grid,
#calculator .contact-grid{
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
}

#contact .form{
  max-width: 100%;
}
