/* ── HERO ── */
.hero{position:relative;overflow:hidden;height:calc(100vh - var(--nav-h) - 30px);min-height:560px;max-height:820px;background:var(--dark)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease}
.slide.on{opacity:1}
.sl-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.38)}
.s1 .sl-bg{background-image:url('https://images.unsplash.com/photo-1486325212027-8081e485255e?w=1600&q=80')}
.s2 .sl-bg{background-image:url('https://images.unsplash.com/photo-1564013799919-ab600027ffc6?w=1600&q=80')}
.s3 .sl-bg{background-image:url('https://images.unsplash.com/photo-1503387762-592deb58ef4e?w=1600&q=80')}
.slide::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.48) 55%,rgba(0,0,0,.08) 100%)}
.hero-inner{position:relative;z-index:2;padding:0 5%;height:100%;display:flex;flex-direction:column;justify-content:center;max-width:760px}
.hero-eyebrow{display:inline-flex;align-items:center;gap:.6rem;border:1px solid rgba(200,150,12,.42);background:rgba(200,150,12,.1);border-radius:30px;padding:.33rem 1rem;font-size:.71rem;font-weight:700;color:#f6c94e;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.3rem;width:fit-content}
.hero h1{font-family:var(--hd);font-size:clamp(2.4rem,6vw,4.6rem);font-weight:900;color:#fff;line-height:1.05;text-transform:uppercase;letter-spacing:.01em;margin-bottom:1.1rem}
.hero h1 span{color:var(--gold);display:block}
.hero-sub{font-size:.96rem;color:rgba(255,255,255,.68);max-width:500px;line-height:1.78;margin-bottom:2rem}
.hero-btns{display:flex;gap:.9rem;flex-wrap:wrap}
.hero-dots{position:absolute;bottom:2.5rem;left:5%;z-index:3;display:flex;gap:.55rem}
.dot{width:32px;height:3px;border-radius:2px;background:rgba(255,255,255,.28);border:none;cursor:pointer;transition:.3s}
.dot.on{background:var(--gold);width:52px}
.hero-stats{position:absolute;bottom:0;left:0;right:0;z-index:3;background:rgba(0,0,0,.88);backdrop-filter:blur(10px);display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid rgba(200,150,12,.22)}
.hs{padding:1.25rem 2rem;text-align:center;border-right:1px solid rgba(255,255,255,.06)}
.hs:last-child{border:none}
.hs-n{font-family:var(--hd);font-size:2rem;font-weight:900;color:var(--gold);line-height:1}
.hs-l{font-size:.61rem;color:rgba(255,255,255,.42);text-transform:uppercase;letter-spacing:.12em;margin-top:.2rem}

/* ── ABOUT ── */
.h-about{padding:6rem 5%;background:#fff}
.ab-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.ab-imgs{position:relative;height:470px}
.ab-main{position:absolute;top:0;left:0;width:78%;height:85%;object-fit:cover;border-radius:5px}
.ab-sec{position:absolute;bottom:0;right:0;width:50%;height:54%;object-fit:cover;border-radius:5px;border:6px solid #fff;box-shadow:0 8px 28px rgba(0,0,0,.14)}
.ab-badge{position:absolute;top:2rem;left:-1.3rem;background:var(--gold);color:var(--dark);padding:1.2rem 1.5rem;border-radius:5px;text-align:center;box-shadow:0 8px 22px rgba(200,150,12,.38)}
.ab-badge strong{display:block;font-family:var(--hd);font-size:2.2rem;font-weight:900;line-height:1}
.ab-badge small{font-size:.58rem;text-transform:uppercase;letter-spacing:.07em;opacity:.88;font-weight:600}
.ab-text p{font-size:.88rem;color:var(--gray);line-height:1.87;margin-bottom:.9rem}
.ab-list{margin:1.4rem 0}
.ab-list li{display:flex;gap:.7rem;align-items:flex-start;font-size:.86rem;color:var(--dark);margin-bottom:.68rem}
.ab-list li::before{content:'✔';color:var(--gold);font-weight:700;flex-shrink:0;margin-top:.06rem}

/* ── SERVICES ── */
.h-svcs{padding:6rem 5%;background:var(--lt)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin-top:3rem}
.sc{background:#fff;border-radius:5px;overflow:hidden;border:1px solid var(--border);transition:box-shadow .3s,transform .3s}
.sc:hover{box-shadow:0 14px 44px rgba(0,0,0,.1);transform:translateY(-5px)}
.sc-img{height:195px;overflow:hidden;position:relative}
.sc-img img{width:100%;height:100%;object-fit:cover;transition:transform .55s}
.sc:hover .sc-img img{transform:scale(1.06)}
.sc-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:35%;background:linear-gradient(to top,rgba(0,0,0,.45),transparent)}
.sc-body{padding:1.45rem}
.sc-ico{font-size:1.55rem;margin-bottom:.65rem}
.sc-body h3{font-family:var(--hd);font-size:1rem;font-weight:800;color:var(--dark);margin-bottom:.42rem;text-transform:uppercase;letter-spacing:.02em}
.sc-body p{font-size:.79rem;color:var(--gray);line-height:1.66;margin-bottom:.85rem}
.sc-lnk{font-size:.72rem;font-weight:600;color:var(--gold);display:inline-flex;align-items:center;gap:.3rem;transition:gap .2s}
.sc-lnk:hover{gap:.58rem}.sc-lnk::after{content:'→'}

/* ── PROJECTS ── */
.h-projs{padding:6rem 5%;background:var(--dark2)}
.ptabs{display:flex;gap:0;border-bottom:2px solid rgba(255,255,255,.08);margin-bottom:2.5rem}
.ptab{background:none;border:none;padding:.8rem 2rem;font-family:var(--hd);font-size:.8rem;font-weight:700;color:rgba(255,255,255,.42);cursor:pointer;text-transform:uppercase;letter-spacing:.08em;transition:color .25s;border-bottom:3px solid transparent;margin-bottom:-2px}
.ptab.on{color:var(--gold);border-bottom-color:var(--gold)}
.ptpanel{display:none}.ptpanel.on{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.pc{border-radius:5px;overflow:hidden;position:relative;height:255px;cursor:pointer}
.pc img{width:100%;height:100%;object-fit:cover;transition:transform .55s,filter .4s}
.pc:hover img{transform:scale(1.06);filter:brightness(.7)}
.pc::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0%,transparent 55%)}
.pc-info{position:absolute;bottom:0;left:0;right:0;padding:1.35rem;z-index:1}
.pc-info h4{font-family:var(--hd);font-size:.92rem;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.02em;margin-bottom:.22rem}
.pc-info span{font-size:.69rem;color:var(--gold);font-weight:600}
.pc-badge{position:absolute;top:.75rem;right:.75rem;z-index:2;font-size:.61rem;font-weight:700;padding:.2rem .62rem;border-radius:3px;text-transform:uppercase;letter-spacing:.06em}
.pc-badge.done{background:var(--gold);color:var(--dark)}
.pc-badge.wip{background:var(--dark3);color:var(--gold);border:1px solid rgba(200,150,12,.4)}

/* ── STATS ── */
.h-stats{padding:4.5rem 5%;background:linear-gradient(135deg,var(--dark),var(--dark3));border-top:3px solid var(--gold)}
.st-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;text-align:center}
.st-n{font-family:var(--hd);font-size:3rem;font-weight:900;color:var(--gold);line-height:1}
.st-l{font-size:.71rem;color:rgba(255,255,255,.42);text-transform:uppercase;letter-spacing:.1em;margin-top:.28rem}

/* ── WHY ── */
.h-why{padding:6rem 5%;background:#fff}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem;margin-top:3rem}
.wc{padding:2.2rem 1.8rem;border-radius:5px;border:1px solid var(--border);transition:box-shadow .3s,transform .3s,border-color .3s}
.wc:hover{box-shadow:0 12px 38px rgba(200,150,12,.1);transform:translateY(-4px);border-color:var(--gold)}
.wc-ico{width:54px;height:54px;border-radius:10px;background:var(--gold-lt);display:flex;align-items:center;justify-content:center;font-size:1.45rem;margin-bottom:1.1rem}
.wc h4{font-family:var(--hd);font-size:1.02rem;font-weight:800;color:var(--dark);margin-bottom:.42rem;text-transform:uppercase;letter-spacing:.02em}
.wc p{font-size:.8rem;color:var(--gray);line-height:1.7}

/* ── TESTI ── */
.h-testi{padding:6rem 5%;background:var(--dark2)}
.tc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:3rem}
.tc{background:var(--dark3);border-radius:5px;padding:2rem;border:1px solid rgba(255,255,255,.06);position:relative;transition:border-color .3s}
.tc:hover{border-color:rgba(200,150,12,.3)}
.tc::before{content:'"';position:absolute;top:.5rem;right:1.3rem;font-size:6rem;color:rgba(200,150,12,.07);font-family:Georgia,serif;line-height:1}
.tc-stars{color:var(--gold);font-size:.88rem;margin-bottom:.62rem}
.tc p{font-size:.86rem;color:rgba(255,255,255,.55);line-height:1.78;font-style:italic;margin-bottom:1.1rem}
.tc strong{display:block;font-size:.86rem;color:#fff;font-weight:600}
.tc-place{font-size:.71rem;color:rgba(200,150,12,.75)}

/* ── GALLERY PREVIEW ── */
.h-gallery{padding:6rem 5%;background:var(--lt)}
.gal-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:210px 210px;gap:8px;margin-top:3rem}
.gm-item{overflow:hidden;border-radius:4px;position:relative;cursor:zoom-in}
.gm-item:nth-child(1){grid-column:span 2;grid-row:span 2}
.gm-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gm-item:hover img{transform:scale(1.06)}
.gm-ov{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#fff}
.gm-item:hover .gm-ov{opacity:1}

@media(max-width:1100px){
  .hero-inner,.h-about,.h-svcs,.h-projs,.h-stats,.h-why,.h-testi,.h-gallery{padding:3.5rem 1.5rem}
  .hero-stats,.hero-dots{display:none}
  .ab-grid{grid-template-columns:1fr;gap:2.5rem}
  .ab-imgs{height:280px}.ab-sec,.ab-badge{display:none}
  .svc-grid,.why-grid{grid-template-columns:1fr}
  .ptpanel.on,.tc-grid{grid-template-columns:1fr}
  .st-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .gal-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:auto}
  .gm-item:nth-child(1){grid-column:span 2;grid-row:auto}
}
@media(max-width:640px){
  .st-grid{grid-template-columns:1fr}
  .gal-mosaic{grid-template-columns:1fr}
  .gm-item:nth-child(1){grid-column:span 1}
}
