/* ══════════════════════════════════════
   HOME PAGE — home.css
   Depends on root.css variables
══════════════════════════════════════ */

/* ── HERO SLIDER ──────────────────── */
.ps-slider {
  position:relative; width:100%;
  height:100vh; min-height:500px;
  overflow:hidden;
  font-family: var(--ff);
  margin-top:64px; /* matches nav height */
}

.ps-slide {
  position:absolute; inset:0;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  text-align:center; padding:2rem;
  opacity:0; transition:opacity .9s ease;
  pointer-events:none;
}
.ps-slide.active { opacity:1; pointer-events:all; }

.ps-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center; z-index:0;
}
.ps-slide-1 .ps-bg { background-image:url('https://images.unsplash.com/photo-1567337710282-00832b415979?w=1600&q=80'); }
.ps-slide-2 .ps-bg { background-image:url('https://images.unsplash.com/photo-1555854877-bab0e564b8d5?w=1600&q=80'); }

.ps-overlay { position:absolute; inset:0; z-index:1; }
.ps-slide-1 .ps-overlay { background:linear-gradient(160deg,rgba(255,248,230,.90) 0%,rgba(240,215,155,.75) 60%,rgba(180,120,20,.15) 100%); }
.ps-slide-2 .ps-overlay { background:linear-gradient(160deg,rgba(180,180,180,.75) 0%,rgba(236,234,233,.6) 60%,rgba(254,252,248,.15) 100%); }

.ps-inner { position:relative; z-index:2; max-width:680px; width:100%; }

.ps-tag {
  font-size:.68rem; letter-spacing:.22em; text-transform:uppercase;
  font-weight:700; margin-bottom:1.2rem;
}
.ps-slide-1 .ps-tag { color:#7a5c10; }
.ps-slide-2 .ps-tag { color:#303030; }

.ps-h1 {
  font-size:clamp(3rem,8.5vw,105px);
  font-weight:600; line-height:1; margin:0 0 .1em; letter-spacing:-.01em;
}
.ps-slide-1 .ps-h1 { color:#1a1208; }
.ps-slide-2 .ps-h1 { color:#1d1b1a; }
.ps-h1 em { display:block; font-weight:400; font-style:italic; }
.ps-slide-1 .ps-h1 em { color:#b8820d; }
.ps-slide-2 .ps-h1 em { color:var(--pink-d); }

.ps-sub {
  font-size:clamp(.9rem,2vw,1.1rem); line-height:1.65;
  margin:1.2rem auto 2rem; max-width:460px;
}
.ps-slide-1 .ps-sub { color:#3a2e10; }
.ps-slide-2 .ps-sub { color:#3a2e10; }

.ps-btns { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.ps-btn-primary {
  border:none; border-radius:50px;
  padding:13px 28px; font-size:.92rem; font-family:var(--ff); font-weight:600;
  letter-spacing:.04em; cursor:pointer;
  display:flex; align-items:center; gap:8px;
  text-decoration:none; transition:transform .15s, opacity .15s;
}
.ps-btn-primary:hover { transform:scale(1.04); opacity:.9; }
.ps-slide-1 .ps-btn-primary { background:#9a6b12; color:#fff8ed; }
.ps-slide-2 .ps-btn-primary { background:#e8c97a; color:#1a1208; }

.ps-btn-wa {
  background:#25a244; color:#fff; border:none; border-radius:50px;
  padding:13px 28px; font-size:.92rem; font-family:var(--ff); font-weight:600;
  letter-spacing:.04em; cursor:pointer;
  display:flex; align-items:center; gap:8px;
  text-decoration:none; transition:transform .15s;
}
.ps-btn-wa:hover { transform:scale(1.04); }

/* Dots */
.ps-dots {
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
  z-index:10; display:flex; gap:10px;
}
.ps-dot {
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,.4); border:1px solid rgba(255,255,255,.5);
  cursor:pointer; transition:background .3s, transform .3s;
}
.ps-dot.active { background:#e8c97a; border-color:#e8c97a; transform:scale(1.3); }

/* Arrows */
.ps-arrow {
  position:absolute; top:50%; transform:translateY(-50%); z-index:10;
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.3);
  color:#fff; width:44px; height:44px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .2s; font-size:18px;
  backdrop-filter:blur(4px);
}
.ps-arrow:hover { background:rgba(255,255,255,.28); }
.ps-arrow-left  { left:20px; }
.ps-arrow-right { right:20px; }

/* Progress bar */
.ps-progress {
  position:absolute; bottom:0; left:0;
  height:3px; background:#e8c97a; z-index:10;
  width:0%; transition:width linear;
}

/* ── SERVICES ───────────────────────── */
.services-sec { padding:6rem 4rem; background:var(--bg2); }
.sec-header {
  display:grid; grid-template-columns:1fr auto;
  gap:2rem; align-items:end; margin-bottom:3.5rem;
}
.big-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.25rem; }
.big-card {
  border-radius:var(--rx); overflow:hidden;
  border:1px solid var(--line); background:#fff;
  text-decoration:none; color:inherit;
  display:grid; grid-template-columns:1fr 1fr;
  transition:all .3s; min-height:210px;
}
.big-card:hover { transform:translateY(-6px); box-shadow:0 20px 52px rgba(0,0,0,.1); border-color:transparent; }
.bc-img { overflow:hidden; position:relative; }
.bc-img img { width:100%; height:100%; object-fit:cover; transition:transform .5s; }
.big-card:hover .bc-img img { transform:scale(1.06); }
.bc-body { padding:1.75rem; display:flex; flex-direction:column; justify-content:center; }
.bc-tag { font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:.5rem; }
.bc-t .bc-tag { color:var(--org); }
.bc-p .bc-tag { color:var(--pink); }
.bc-title { font-family:var(--ff); font-size:1.25rem; font-weight:700; color:var(--ink); line-height:1.2; margin-bottom:.5rem; }
.bc-desc { font-size:.8rem; font-weight:300; color:var(--mute); line-height:1.75; margin-bottom:1rem; }
.bc-link { font-size:.78rem; font-weight:700; display:flex; align-items:center; gap:.35rem; transition:gap .2s; }
.bc-t .bc-link { color:var(--org); }
.bc-p .bc-link { color:var(--pink); }
.big-card:hover .bc-link { gap:.6rem; }

/* ── WHY US ─────────────────────────── */
.why-sec { padding:7rem 4rem; background:var(--bg); }
.why-inner {
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:start;
}
.why-statement {
  font-family:var(--ff); font-size:1.05rem; font-weight:400;
  line-height:1.9; color:var(--mid); margin-top:1.5rem;
}
.why-statement strong { color:var(--p1); font-weight:700; }
.why-proof { margin:2rem 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.proof-card {
  background:#fff; border:1px solid var(--line); border-radius:1.5rem;
  padding:1.5rem 1rem; text-align:center; transition:all .3s;
}
.proof-card:hover { transform:translateY(-5px); box-shadow:0 14px 40px rgba(0,0,0,.08); border-color:transparent; }
.proof-icon {
  width:52px; height:52px; border-radius:1rem;
  display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; margin:0 auto .9rem;
}
.pi-t  { background:var(--org-pale); }
.pi-a  { background:#FFF8EC; }
.pi-g  { background:var(--green-l); }
.proof-n { font-family:var(--ff); font-size:1.5rem; font-weight:700; color:var(--ink); margin-bottom:.3rem; }
.proof-t { font-size:.78rem; font-weight:300; color:var(--mute); line-height:1.65; }
.why-reasons { display:flex; flex-direction:column; gap:1.1rem; }
.why-card {
  background:#fff; border:1px solid var(--line); border-radius:1.5rem;
  padding:1.65rem; display:flex; gap:1.25rem; transition:all .3s;
}
.why-card:hover { transform:translateX(8px); border-color:rgba(232,25,107,.2); box-shadow:0 8px 28px rgba(232,25,107,.07); }
.wc-num {
  font-family:var(--ff); font-size:2.25rem; font-weight:800;
  color:var(--p1); flex-shrink:0; line-height:1; opacity:.5; transition:opacity .3s;
}
.why-card:hover .wc-num { opacity:1; }
.wc-title { font-size:.92rem; font-weight:600; color:var(--ink); margin-bottom:.35rem; }
.wc-desc { font-size:.82rem; font-weight:300; line-height:1.75; color:var(--mute); }

/* ── GALLERY ────────────────────────── */
.gallery-sec { padding:6rem 4rem; background:rgba(242,217,235,.25); }
.gallery-inner { max-width:1180px; margin:0 auto; }
.gallery-head { text-align:left; margin-bottom:2rem; }
.gallery-tabs { display:flex; gap:.5rem; margin-bottom:2.5rem; flex-wrap:wrap; }
.g-tab {
  border:1.5px solid var(--line); background:transparent;
  padding:.55rem 1.4rem; border-radius:2rem;
  font-family:var(--fs); font-size:.82rem; font-weight:600;
  cursor:pointer; color:var(--mute); transition:all .22s;
}
.g-tab.active.t { background:var(--org-pale); color:var(--org-d); border-color:var(--org-pale); }
.g-tab:hover:not(.active) { border-color:var(--mid); color:var(--mid); }

/* ── TESTIMONIALS ───────────────────── */
.reviews-sec { padding:6rem 4rem; background:var(--bg2); }
.rev-inner { max-width:1180px; margin:0 auto; }
.rev-head { margin-bottom:3.5rem; }
.rev-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.rev-card {
  background:var(--bg); border:1px solid var(--line);
  border-radius:1.5rem; padding:2.25rem; transition:all .3s; position:relative;
}
.rev-card:hover { transform:translateY(-6px); box-shadow:0 18px 48px rgba(0,0,0,.07); border-color:transparent; }
.rev-stars { display:flex; gap:3px; margin-bottom:1.15rem; color:#F59E0B; font-size:.9rem; }
.rev-q {
  font-family:var(--ff); font-size:1.05rem; font-weight:400;
  line-height:1.75; color:var(--ink); margin-bottom:1.5rem; font-style:italic;
}
.rev-q::before {
  content:"\201C"; font-size:2.25rem; font-family:var(--ff);
  color:var(--org); line-height:.5; display:block; margin-bottom:.5rem;
}
.rev-bot { display:flex; align-items:center; gap:.85rem; }
.rev-av {
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:.95rem; font-weight:700; color:#fff; flex-shrink:0;
}
.rev-name { font-size:.86rem; font-weight:600; color:var(--ink); }
.rev-role { font-size:.74rem; font-weight:300; color:var(--mute); margin-top:.1rem; }
.rev-badge { margin-left:auto; font-size:.64rem; font-weight:600; padding:.22rem .65rem; border-radius:2rem; }
.rb-t { background:var(--org-pale); color:var(--org); }
.rb-p { background:var(--pink-lt); color:var(--pink); }

/* ── CTA STRIP ──────────────────────── */
.cta-sec {
  padding:6rem 4rem;
  background:linear-gradient(120deg,#E8702A 0%,#E8702A 55%,#F08838 100%);
  position:relative; overflow:hidden;
}
.cta-sec::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:26px 26px;
}
.cta-inner {
  max-width:1180px; margin:0 auto; position:relative; z-index:1;
  display:flex; align-items:center; justify-content:space-between;
  gap:3rem; flex-wrap:wrap;
}
.cta-tag {
  font-size:.68rem; font-weight:700; letter-spacing:.2em;
  text-transform:uppercase; color:rgba(255,255,255,.6); display:block; margin-bottom:.85rem;
}
.cta-h { font-family:var(--ff); font-size:clamp(1.8rem,3.2vw,2.8rem); font-weight:600; color:#fff; line-height:1.2; margin-bottom:.5rem; }
.cta-sub { font-size:.88rem; font-weight:300; color:rgba(255,255,255,.7); }
.cta-btns { display:flex; gap:1rem; flex-wrap:wrap; }

/* ── CONTACT ────────────────────────── */
.contact-sec { padding:7rem 4rem; background:var(--bg); }
.contact-inner { max-width:1180px; margin:0 auto; }
.contact-hero {
  display:grid; grid-template-columns:1fr 1fr; gap:2rem;
  padding-bottom:1.5rem; border-bottom:1px solid var(--line); margin-bottom:2rem;
  align-items:end;
}
.contact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.ci-block {
  background:#fff; border:1px solid var(--line); border-radius:var(--r);
  padding:1.75rem; display:flex; flex-direction:column; gap:.45rem;
  transition:all .3s;
}
.ci-block:hover { transform:translateY(-4px); box-shadow:0 10px 30px rgba(0,0,0,.07); border-color:transparent; }
.ci-ico { width:46px; height:46px; border-radius:.85rem; display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:.4rem; }
.cio-t { background:var(--org-pale); }
.cio-p { background:var(--pink-lt); }
.cio-g { background:var(--green-l); }
.ci-label { font-size:.62rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--mute); }
.ci-val { font-size:.88rem; font-weight:500; color:var(--ink); line-height:1.65; }
.ci-val a { color:inherit; text-decoration:none; }
.ci-val a:hover { color:var(--org); }
.map-card {
  background:linear-gradient(150deg,#2A7A48,#1A5030);
  border-radius:var(--r); padding:1.5rem;
  display:flex; flex-direction:column; justify-content:space-between; gap:1.25rem;
  position:relative; overflow:hidden;
}
.map-ico  { font-size:1.9rem; display:block; margin-bottom:.65rem; }
.map-title { font-family:var(--ff); font-size:1.3rem; font-weight:600; color:#fff; margin-bottom:.4rem; }
.map-addr { font-size:.78rem; font-weight:300; color:rgba(255,255,255,.6); line-height:1.85; }
.map-btns { display:flex; gap:.65rem; }

/* ══════════════════════════════════════
   RESPONSIVE — HOME PAGE
══════════════════════════════════════ */

/* ── Tablet (≤1100px) ── */
@media (max-width:1100px) {
  .services-sec,
  .why-sec,
  .gallery-sec,
  .reviews-sec,
  .cta-sec,
  .contact-sec { padding-left:2rem; padding-right:2rem; }

  .sec-header     { grid-template-columns:1fr; }
  .why-inner      { grid-template-columns:1fr; gap:3rem; }
  .why-proof      { grid-template-columns:repeat(3,1fr); }
  .rev-grid       { grid-template-columns:1fr 1fr; }
  .contact-hero   { grid-template-columns:1fr; }
  .contact-grid   { grid-template-columns:1fr 1fr; }
}

/* ── Mobile (≤768px) ── */
@media (max-width:768px) {
  /* Hero slider */
      .ps-slider {
        margin-top: 64px;
        height: 50vh;
        min-height: 500px;
    }
  .ps-h1          { font-size:clamp(3rem,10vw,3.5rem); }
  .ps-sub         { font-size:.88rem; }
  .ps-btns        { gap:8px; }
  .ps-btn-primary,
  .ps-btn-wa      { padding:11px 20px; font-size:.85rem; }
  .ps-arrow       { width:36px; height:36px; font-size:15px; }

  /* Services */
  .big-grid       { grid-template-columns:1fr; }
  .big-card       { grid-template-columns:1fr; }
  .bc-img         { height:200px; }

  /* Why us — full 1 col stack */
  .why-sec        { padding-top:4rem; padding-bottom:4rem; }
  .why-inner      { grid-template-columns:1fr; gap:2.5rem; }
  .why-proof      { grid-template-columns:1fr 1fr; gap:.75rem; }
  .proof-card     { padding:1.1rem .75rem; }
  .proof-icon     { width:40px; height:40px; font-size:1.1rem; }
  .proof-n        { font-size:1.2rem; }
  .proof-t        { font-size:.72rem; }
  .why-reasons    { gap:.75rem; }
  .why-card       { padding:1.25rem; gap:.9rem; flex-wrap:nowrap; }
  .wc-num         { font-size:1.8rem; min-width:32px; }
  .wc-title       { font-size:.86rem; }
  .wc-desc        { font-size:.78rem; }

  /* Gallery */
  .gallery-tabs   { gap:.35rem; }
  .g-tab          { padding:.45rem 1rem; font-size:.78rem; }

  /* Reviews */
  .rev-grid       { grid-template-columns:1fr; }

  /* CTA */
  .cta-inner      { flex-direction:column; align-items:flex-start; gap:1.5rem; }
  .cta-btns       { flex-direction:column; width:100%; }
  .cta-btns .btn  { justify-content:center; }

  /* Contact */
  .contact-grid   { grid-template-columns:1fr 1fr; }
}

/* ── Small mobile (≤480px) ── */
@media (max-width:480px) {
  .ps-slider      { height:50vh; }
  .ps-inner       { padding:0 .5rem; }
  .ps-dots        { bottom:18px; }

  /* Why proof — 1 col on very small screens */
  .why-proof      { grid-template-columns:1fr 1fr; }

  /* Contact 1 col */
  .contact-grid   { grid-template-columns:1fr; }

  /* Paddings smaller */
  .services-sec,
  .why-sec,
  .gallery-sec,
  .reviews-sec,
  .cta-sec,
  .contact-sec    { padding-left:1.25rem; padding-right:1.25rem; padding-top:3.5rem; padding-bottom:3.5rem; }
}