*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --primaryhighlightcol:#F99A02;--primaryhighlightcol-light:#E8C97A;--primaryhighlightcol-dim:#8A6D2E;
  --ink:#0A0A0A;--ink2:#121008;--ink3:#1A1510;
  --off:#F5F0E8;--muted:#7A7060;
  --border:rgba(201,168,76,0.18);--border2:rgba(201,168,76,0.38);
}
html{scroll-behavior:smooth;scroll-snap-type:y mandatory}
body{font-family:'DM Sans',sans-serif;background:var(--ink);color:var(--off);overflow-x:hidden}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:1.1rem 5vw;background:rgba(10,10,10,0.88);backdrop-filter:blur(16px);border-bottom:0.5px solid var(--border)}
.logo{font-family:'Syne',sans-serif;font-weight:800;font-size:1.35rem;letter-spacing:0.04em;color:var(--primaryhighlightcol)}
.logo span{color:var(--off)}
.logo img {width: 200px}
nav ul{list-style:none;display:flex;gap:2rem}
nav a{font-size:0.78rem;font-weight:400;letter-spacing:0.08em;color:var(--muted);text-decoration:none;text-transform:uppercase;transition:color .2s}
nav a:hover{color:var(--primaryhighlightcol)}
.nav-cta{background:var(--primaryhighlightcol)!important;color:var(--ink)!important;padding:.5rem 1.3rem;border-radius:2px;font-family:'Syne',sans-serif;font-weight:700;font-size:0.75rem;letter-spacing:.1em}
.nav-cta:hover{background:var(--primaryhighlightcol-light)!important}

/* NAV HIGHLIGHTING */
nav a.nav-active{color:var(--primaryhighlightcol);position:relative}
nav a.nav-active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:1.5px;background:var(--primaryhighlightcol);border-radius:1px;animation:.25s forwards navUnderline}
@keyframes navUnderline{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* SNAP */
section{scroll-snap-align:start;min-height:100vh}
.divider{height:.5px;background:var(--border);margin:0 5vw}

/* HERO */
#hero{display:grid;grid-template-columns:1fr 420px;min-height:100vh;position:relative;overflow:hidden;padding:0}
.hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 60% 70% at 30% 50%,rgba(201,168,76,.07) 0%,transparent 65%),radial-gradient(ellipse 50% 60% at 75% 60%,rgba(201,168,76,.05) 0%,transparent 60%)}
.hero-gridlines{position:absolute;inset:0;z-index:0;opacity:.025;background-image:linear-gradient(var(--primaryhighlightcol) 1px,transparent 1px),linear-gradient(90deg,var(--primaryhighlightcol) 1px,transparent 1px);background-size:55px 55px}
.hero-left{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;padding:8rem 4vw 5rem 5vw}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(201,168,76,.09);border:.5px solid var(--border2);padding:.35rem .9rem;border-radius:2px;margin-bottom:1.8rem;width:fit-content}
.badge-dot{width:6px;height:6px;border-radius:50%;background:var(--primaryhighlightcol);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}
.hero-badge span{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--primaryhighlightcol-light)}
h1{font-family:'Syne',sans-serif;font-size:clamp(2.8rem,5.5vw,5.2rem);font-weight:800;line-height:.93;letter-spacing:-.03em;margin-bottom:1.4rem}
h1 em{font-style:normal;color:var(--primaryhighlightcol)}
.hero-sub{font-size:1rem;font-weight:300;line-height:1.8;color:rgba(245,240,232,.6);max-width:480px;margin-bottom:2.2rem}
.hero-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.btn-primary{background:var(--primaryhighlightcol);color:var(--ink);padding:.85rem 2rem;border-radius:2px;font-family:'Syne',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:background .2s,transform .15s}
.btn-primary:hover{background:var(--primaryhighlightcol-light);transform:translateY(-2px)}
.btn-ghost{color:var(--off);border:.5px solid rgba(245,240,232,.22);padding:.85rem 2rem;border-radius:2px;font-family:'Syne',sans-serif;font-weight:600;font-size:.85rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;display:inline-block;transition:border-color .2s,color .2s,transform .15s}
.btn-ghost:hover{border-color:var(--primaryhighlightcol);color:var(--primaryhighlightcol);transform:translateY(-2px)}

/* HERO RIGHT — person image */
.hero-right{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.person-frame{position:relative;width:100%;height:100%;min-height:100vh;border-left:.5px solid var(--border);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.person-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;border:.5px dashed rgba(201,168,76,.25);margin:1.5rem;border-radius:2px}
.person-placeholder svg{width:64px;height:64px;stroke:rgba(201,168,76,.3);fill:none;stroke-width:1;stroke-linecap:round}
.person-placeholder p{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(201,168,76,.35);text-align:center;line-height:1.7}
.person-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;z-index:1}
.person-frame img~.person-placeholder{display:none}
.corner{position:absolute;width:20px;height:20px;border-color:var(--primaryhighlightcol-dim);border-style:solid;z-index:3}
.corner-tl{top:1.5rem;left:1.5rem;border-width:1.5px 0 0 1.5px}
.corner-tr{top:1.5rem;right:1.5rem;border-width:1.5px 1.5px 0 0}
.corner-bl{bottom:1.5rem;left:1.5rem;border-width:0 0 1.5px 1.5px}
.corner-br{bottom:1.5rem;right:1.5rem;border-width:0 1.5px 1.5px 0}
.verify-float{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:4;background:rgba(10,10,10,.82);backdrop-filter:blur(10px);border:.5px solid var(--border2);border-radius:3px;padding:.6rem 1.2rem;display:flex;align-items:center;gap:.7rem;white-space:nowrap}
.check-icon{width:18px;height:18px;border-radius:50%;background:rgba(80,200,120,.2);border:.5px solid rgba(80,200,120,.5);display:flex;align-items:center;justify-content:center;font-size:9px;color:#7BE8A0;flex-shrink:0}
.verify-float span{font-size:.75rem;color:var(--primaryhighlightcol-light);letter-spacing:.06em}

/* STATS STRIP */
#stats{scroll-snap-align:none;min-height:unset;display:flex;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border);background:var(--ink2)}
.stat-item{flex:1;padding:2.4rem 2rem;border-right:.5px solid var(--border);display:flex;flex-direction:column;gap:.35rem;align-items:center;text-align:center;position:relative;overflow:hidden}
.stat-item:last-child{border-right:none}
.stat-item::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background:var(--primaryhighlightcol);transition:width .4s ease}
.stat-item:hover::after{width:60%}
.stat-num{font-family:'Syne',sans-serif;font-size:2.2rem;font-weight:800;color:var(--primaryhighlightcol);line-height:1}
.stat-label{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:.15rem}

/* ABOUT */
#about{padding:7rem 5vw}
.about-flex{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.about-visual{position:relative;height:600px;border:.5px solid var(--border);border-radius:2px;overflow:hidden;background:var(--ink2)}
.about-visual img {position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;object-position: center;z-index: 1;opacity: .2}
.about-inner{position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,.05) 0%,transparent 55%);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;padding:2rem;z-index:2}
.qr-mock{width:120px;height:120px;border:1.5px solid var(--border2);display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);gap:2px;padding:10px}
.qr-cell{background:var(--off);border-radius:1px;opacity:0;animation:qrfade .5s forwards}
@keyframes qrfade{to{opacity:var(--o,1)}}
.v-chip{background:rgba(201,168,76,.1);border:.5px solid var(--border2);padding:.5rem 1.2rem;border-radius:2px;display:flex;align-items:center;gap:.6rem;font-size:.8rem;color:var(--primaryhighlightcol-light);letter-spacing:.05em}
.about-text .section-body{margin-bottom:2rem}
.about-points{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin-top:1.8rem}
.about-points li{display:flex;align-items:flex-start;gap:.8rem;font-size:.88rem;color:rgba(245,240,232,.7);line-height:1.55}
.point-mark{flex-shrink:0;width:18px;height:18px;margin-top:2px;border:.5px solid var(--primaryhighlightcol-dim);border-radius:1px;display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--primaryhighlightcol)}

/* COMMON */
.section-tag{display:inline-block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--primaryhighlightcol);border:.5px solid var(--border2);padding:.28rem .75rem;border-radius:1px;margin-bottom:.9rem}
.section-title{font-family:'Syne',sans-serif;font-weight:800;font-size:clamp(2rem,4vw,3rem);line-height:1.04;letter-spacing:-.025em;margin-bottom:.9rem}
.section-body{font-size:.95rem;font-weight:300;line-height:1.85;color:rgba(245,240,232,.58);max-width:540px}

/* SERVICES */
#services{padding:7rem 5vw;background:rgba(201,168,76,.02)}
.services-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:0;border:.5px solid var(--border)}
.service-card{padding:2.5rem 2rem;border:.5px solid var(--border);background:var(--ink2);transition:background .25s;position:relative;overflow:hidden;cursor:default}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--primaryhighlightcol);transform:scaleX(0);transform-origin:left;transition:transform .35s ease}
.service-card:hover::before{transform:scaleX(1)}
.service-card:hover{background:#17130C}
.service-card.main-service{background:#130F07;border-top:2px solid var(--primaryhighlightcol)}
.service-num{font-family:'Syne',sans-serif;font-size:.68rem;font-weight:700;color:var(--primaryhighlightcol-dim);letter-spacing:.16em;margin-bottom:1.3rem}
.svc-icon{width:44px;height:44px;border:.5px solid var(--border2);border-radius:2px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.svc-icon svg{width:20px;height:20px;stroke:var(--primaryhighlightcol);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service-name{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:.6rem;letter-spacing:-.01em}
.service-desc{font-size:.85rem;font-weight:300;line-height:1.72;color:rgba(245,240,232,.48)}
.main-badge{display:inline-block;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--primaryhighlightcol);padding:.18rem .55rem;border-radius:1px;margin-bottom:.75rem;font-weight:700;font-family:'Syne',sans-serif}

/* CAPABILITIES */
#features{padding:7rem 5vw;background:var(--ink)}
.cap-intro{text-align:center;max-width:580px;margin:0 auto 3.5rem}
.cap-intro .section-body{margin:0 auto}
.cap-tabs{display:flex;gap:0;border:.5px solid var(--border);margin-bottom:2.5rem;overflow:hidden;border-radius:2px}
.cap-tab{flex:1;padding:.85rem 1rem;text-align:center;cursor:pointer;font-family:'Syne',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--ink2);border-right:.5px solid var(--border);transition:background .2s,color .2s;position:relative}
.cap-tab:last-child{border-right:none}
.cap-tab.active{background:var(--primaryhighlightcol);color:var(--ink)}
.cap-tab:not(.active):hover{background:rgba(201,168,76,.07);color:var(--off)}
.cap-panel{display:none}
.cap-panel.active{display:grid;grid-template-columns:1fr 1fr;gap:0;border:.5px solid var(--border)}
.feat-card{padding:1.6rem 1.8rem;border-right:.5px solid var(--border);border-bottom:.5px solid var(--border);display:flex;gap:1.1rem;align-items:flex-start;background:var(--ink2);transition:background .2s;cursor:default}
.feat-card:nth-child(2n){border-right:none}
.feat-card:nth-last-child(-n+2){border-bottom:none}
.feat-card:hover{background:#15120A}
.feat-icon-wrap{flex-shrink:0;width:36px;height:36px;border:.5px solid var(--border2);border-radius:2px;display:flex;align-items:center;justify-content:center;margin-top:2px}
.feat-icon-wrap svg{width:16px;height:16px;stroke:var(--primaryhighlightcol);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.feat-name{font-family:'Syne',sans-serif;font-size:.88rem;font-weight:700;margin-bottom:.25rem;color:var(--off)}
.feat-desc{font-size:.78rem;font-weight:300;line-height:1.6;color:rgba(245,240,232,.45)}
.feat-bar{height:2px;background:var(--border);margin-top:.7rem;border-radius:1px;overflow:hidden}
.feat-bar-fill{height:100%;background:var(--primaryhighlightcol);transform:scaleX(0);transform-origin:left;transition:transform .5s ease .05s;border-radius:1px}
.feat-card:hover .feat-bar-fill{transform:scaleX(1)}

/* BENEFITS */
#benefits{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--off);color:var(--ink);min-height:100vh}
.benefits-left{padding:7rem 5vw;border-right:.5px solid rgba(10,10,10,.1)}
.benefits-left .section-tag{color:var(--primaryhighlightcol-dim);border-color:rgba(138,109,46,.3)}
.benefits-left .section-title{color:var(--ink)}
.benefits-left .section-body{color:rgba(10,10,10,.5);margin-bottom:2.2rem}
.benefits-right{padding:7rem 4vw;display:flex;flex-direction:column;justify-content:center;gap:0}
.benefit-item{padding:1.7rem 0;border-bottom:.5px solid rgba(10,10,10,.1)}
.benefit-item:first-child{border-top:.5px solid rgba(10,10,10,.1)}
.benefit-num{font-family:'Syne',sans-serif;font-size:.65rem;font-weight:700;color:var(--primaryhighlightcol-dim);letter-spacing:.15em;display:block;margin-bottom:.3rem}
.benefit-name{font-family:'Syne',sans-serif;font-size:.98rem;font-weight:700;color:var(--ink);display:block;margin-bottom:.3rem}
.benefit-desc{font-size:.83rem;font-weight:300;line-height:1.65;color:rgba(10,10,10,.48)}

/* CONTACT */
#contact{padding:8rem 5vw;position:relative;overflow:hidden}
#contact::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(201,168,76,.06) 0%,transparent 70%)}
#contact .section-tag,#contact .section-title,#contact .section-body{text-align:center;margin-left:auto;margin-right:auto}
#contact .section-title{margin-bottom:1rem}
#contact .section-body{margin-bottom:2.5rem}
.contact-info{display:flex;justify-content:center;align-items:center;gap:3rem;flex-wrap:wrap;margin-bottom:2.8rem;position:relative;z-index:1}
.contact-item{display:flex;flex-direction:column;gap:.3rem;align-items:center}
.contact-label{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.contact-value{font-family:'Syne',sans-serif;font-size:.98rem;font-weight:600;color:var(--primaryhighlightcol)}
.contact-actions{display:flex;justify-content:center;gap:1rem;position:relative;z-index:1}

/* FOOTER */
footer{padding:1.8rem 5vw;border-top:.5px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;scroll-snap-align:none}
.footer-logo{font-family:'Syne',sans-serif;font-weight:800;font-size:1.05rem;color:var(--primaryhighlightcol)}
footer p{font-size:.72rem;color:var(--muted)}
.footer-links{display:flex;gap:1.5rem}
.footer-links a{font-size:.72rem;color:var(--muted);text-decoration:none;transition:color .2s}
.footer-links a:hover{color:var(--gold)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}

/* ── TESTIMONIALS ── */
#testimonials{padding:7rem 5vw;background:var(--ink2);position:relative;overflow:hidden}
#testimonials::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 0%,rgba(201,168,76,.05) 0%,transparent 65%);pointer-events:none}
.testi-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:3rem;flex-wrap:wrap;gap:1rem}
.testi-nav{display:flex;gap:.6rem}
.testi-btn{width:40px;height:40px;border:.5px solid var(--border2);border-radius:2px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.testi-btn:hover{background:rgba(201,168,76,.1);border-color:var(--primaryhighlightcol)}
.testi-btn svg{width:16px;height:16px;stroke:var(--primaryhighlightcol);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.testi-track-wrap{overflow:hidden;position:relative}
.testi-track{display:flex;gap:1.5rem;transition:transform .55s cubic-bezier(.25,.46,.45,.94);will-change:transform}
.testi-card{
  flex:0 0 calc(33.333% - 1rem);min-width:0;
  background:var(--ink);border:.5px solid var(--border);border-radius:2px;
  padding:2rem;display:flex;flex-direction:column;gap:1.2rem;
  position:relative;overflow:hidden;transition:border-color .25s;
}
.testi-card:hover{border-color:var(--border2)}
.testi-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--primaryhighlightcol),transparent);opacity:0;transition:opacity .3s}
.testi-card:hover::before{opacity:1}
.testi-stars{display:flex;gap:3px}
.star{width:13px;height:13px;background:var(--primaryhighlightcol);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
.star.dim{background:rgba(201,168,76,.2)}
.testi-quote{font-size:.9rem;font-weight:300;line-height:1.8;color:rgba(245,240,232,.72);font-style:italic;flex:1}
.testi-quote::before{content:'\201C';font-family:'Syne',sans-serif;font-size:2.5rem;color:var(--primaryhighlightcol);opacity:.35;line-height:0;vertical-align:-.5rem;margin-right:.2rem}
.testi-author{display:flex;align-items:center;gap:.9rem;padding-top:1rem;border-top:.5px solid var(--border)}
.author-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-size:.8rem;font-weight:700;flex-shrink:0;border:.5px solid var(--border2)}
.author-info{display:flex;flex-direction:column;gap:.15rem}
.author-name{font-family:'Syne',sans-serif;font-size:.83rem;font-weight:700;color:var(--off)}
.author-role{font-size:.72rem;color:var(--muted);letter-spacing:.04em}
.testi-dots{display:flex;justify-content:center;gap:.5rem;margin-top:2rem}
.testi-dot{width:6px;height:6px;border-radius:50%;background:var(--border2);cursor:pointer;transition:background .2s,transform .2s}
.testi-dot.active{background:var(--primaryhighlightcol);transform:scale(1.3)}

/* ── GALLERY ── */
#gallery{padding:7rem 5vw;background:var(--ink);overflow:hidden}
.gallery-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}
.gallery-nav{display:flex;gap:.6rem}
.gal-btn{width:40px;height:40px;border:.5px solid var(--border2);border-radius:2px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s}
.gal-btn:hover{background:rgba(201,168,76,.1);border-color:var(--primaryhighlightcol)}
.gal-btn svg{width:16px;height:16px;stroke:var(--primaryhighlightcol);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.gallery-track-wrap{overflow:hidden;border-radius:2px;position:relative}
.gallery-track{display:flex;gap:1rem;transition:transform .55s cubic-bezier(.25,.46,.45,.94);will-change:transform}
.gallery-slide{
  flex:0 0 calc(25% - .75rem);min-width:0;
  aspect-ratio:3/4;border-radius:2px;overflow:hidden;
  border:.5px solid var(--border);position:relative;cursor:pointer;
  background:var(--ink2);
}
.gallery-slide:first-child{flex:0 0 calc(50% - .5rem);aspect-ratio:unset}
.slide-inner{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:.7rem;transition:transform .4s ease;
}
.gallery-slide:hover .slide-inner{transform:scale(1.03)}
.slide-icon{width:48px;height:48px;border:.5px solid var(--border2);border-radius:2px;display:flex;align-items:center;justify-content:center}
.slide-icon svg{width:22px;height:22px;stroke:rgba(201,168,76,.4);fill:none;stroke-width:1.2;stroke-linecap:round}
.slide-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(201,168,76,.35);text-align:center}
/* real img inside slide */
.gallery-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;transition:transform .4s ease}
.gallery-slide:hover img{transform:scale(1.04)}
.gallery-slide img~.slide-inner{display:none}
/* overlay on hover */
.slide-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(10,10,10,.75) 100%);z-index:2;opacity:0;transition:opacity .3s}
.gallery-slide:hover .slide-overlay{opacity:1}
.slide-caption{position:absolute;bottom:1rem;left:1rem;right:1rem;z-index:3;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s;font-size:.75rem;color:var(--off);font-weight:300}
.gallery-slide:hover .slide-caption{opacity:1;transform:translateY(0)}
.gallery-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem}
.gallery-dot{width:6px;height:6px;border-radius:50%;background:var(--border2);cursor:pointer;transition:background .2s,transform .2s}
.gallery-dot.active{background:var(--primaryhighlightcol);transform:scale(1.3)}

/* ── VIDEO BADGE on gallery slide ── */
.slide-type-badge{
  position:absolute;top:.7rem;left:.7rem;z-index:4;
  display:flex;align-items:center;gap:.35rem;
  background:rgba(10,10,10,.82);border:.5px solid var(--border2);
  border-radius:2px;padding:.25rem .6rem;
  font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--primaryhighlightcol-light);font-family:'Syne',sans-serif;font-weight:600;
}
.slide-type-badge svg{width:11px;height:11px;stroke:var(--primaryhighlightcol);fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0}

/* modal video */
.modal-video-wrap{
  width:100%;aspect-ratio:16/9;border:.5px solid var(--border);border-radius:2px;overflow:hidden;
  background:#000;position:relative;
}
.modal-video-wrap iframe,.modal-video-wrap video{
  position:absolute;inset:0;width:100%;height:100%;border:none;
}
.modal-video-close-hint{
  position:absolute;bottom:.5rem;right:.7rem;font-size:.62rem;
  color:rgba(245,240,232,.3);letter-spacing:.08em;pointer-events:none;
}

/* ── CLIENTS SHOWCASE SECTION ── */
#clients-showcase{
  padding:7rem 5vw;background:var(--ink);
  scroll-snap-align:start;min-height:unset;
}
.clients-showcase-header{text-align:center;margin-bottom:3.5rem}
.clients-showcase-header .section-body{margin:0 auto;text-align:center}
.clients-grid{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border:.5px solid var(--border);
}
.client-card{
  /*padding:2rem 1.5rem;*/border-right:.5px solid var(--border);
  display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;
  background:var(--ink2);transition:background .25s;position:relative;overflow:hidden;
  cursor:default;
}
.client-card:last-child{border-right:none}
.client-card::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:var(--primaryhighlightcol);transform:scaleX(0);transform-origin:center;transition:transform .35s ease;
}
.client-card:hover::after{transform:scaleX(1)}
.client-card:hover{background:#15120A}
.client-card img {width: 100%}
.client-card-icon{
  width:56px;height:56px;border:.5px solid var(--border2);border-radius:2px;
  display:flex;align-items:center;justify-content:center;
  background:rgba(201,168,76,.04);transition:background .25s,border-color .25s;
}
.client-card:hover .client-card-icon{background:rgba(201,168,76,.1);border-color:var(--primaryhighlightcol)}
.client-card-icon svg{width:24px;height:24px;stroke:rgba(201,168,76,.35);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:stroke .25s}
.client-card:hover .client-card-icon svg{stroke:var(--primaryhighlightcol)}
.client-card-name{font-family:'Syne',sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.04em;color:rgba(245,240,232,.25);transition:color .25s}
.client-card:hover .client-card-name{color:rgba(245,240,232,.7)}
.client-card-type{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,240,232,.15);transition:color .25s}
.client-card:hover .client-card-type{color:var(--muted)}
/* second row */
.clients-grid-row2{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border:.5px solid var(--border);border-top:none;
}
/* trust bar */
.clients-trust-bar{
  display:flex;justify-content:center;align-items:center;gap:3rem;
  margin-top:3rem;padding-top:2.5rem;border-top:.5px solid var(--border);
  flex-wrap:wrap;
}
.trust-item{display:flex;flex-direction:column;align-items:center;gap:.3rem}
.trust-num{font-family:'Syne',sans-serif;font-size:1.8rem;font-weight:800;color:var(--primaryhighlightcol)}
.trust-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* ── GALLERY MODAL ── */
.gallery-modal{
  position:fixed;inset:0;z-index:999;
  background:rgba(5,4,2,.96);
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.gallery-modal.open{opacity:1;pointer-events:all}
.modal-inner{
  position:relative;max-width:880px;width:90vw;
  display:flex;flex-direction:column;gap:1rem;
}
.modal-img-wrap{
  width:100%;aspect-ratio:16/9;border:.5px solid var(--border);border-radius:2px;overflow:hidden;
  background:var(--ink2);display:flex;align-items:center;justify-content:center;
}
.modal-img-wrap img{width:100%;height:100%;object-fit:cover}
.modal-placeholder{display:flex;flex-direction:column;align-items:center;gap:.8rem}
.modal-placeholder svg{width:48px;height:48px;stroke:rgba(201,168,76,.3);fill:none;stroke-width:1;stroke-linecap:round}
.modal-placeholder p{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(201,168,76,.3)}
.modal-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.modal-caption{font-family:'Syne',sans-serif;font-size:1rem;font-weight:600;color:var(--off)}
.modal-sub{font-size:.78rem;color:var(--muted)}
.modal-close{
  position:absolute;top:-3rem;right:0;
  width:36px;height:36px;border:.5px solid var(--border2);border-radius:2px;
  background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.modal-close:hover{background:rgba(201,168,76,.1)}
.modal-close svg{width:16px;height:16px;stroke:var(--primaryhighlightcol);fill:none;stroke-width:2;stroke-linecap:round}
.modal-nav-btns{display:flex;gap:.5rem}
.modal-nav-btn{
  width:36px;height:36px;border:.5px solid var(--border2);border-radius:2px;
  background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.modal-nav-btn:hover{background:rgba(201,168,76,.1)}
.modal-nav-btn svg{width:14px;height:14px;stroke:var(--primaryhighlightcol);fill:none;stroke-width:2;stroke-linecap:round}
.modal-counter{font-size:.72rem;letter-spacing:.1em;color:var(--muted)}
.gallery-slide{cursor:pointer}
.gallery-slide .zoom-hint{
  position:absolute;top:.7rem;right:.7rem;z-index:4;
  width:28px;height:28px;background:rgba(10,10,10,.7);border:.5px solid var(--border2);
  border-radius:2px;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .25s;
}
.gallery-slide:hover .zoom-hint{opacity:1}
.zoom-hint svg{width:13px;height:13px;stroke:var(--primaryhighlightcol);fill:none;stroke-width:2;stroke-linecap:round}

/* ── TICKER ── */
#ticker{
  scroll-snap-align:none;min-height:unset;
  background:var(--primaryhighlightcol);overflow:hidden;padding:.7rem 0;position:relative;
}
.ticker-wrap{display:flex;white-space:nowrap;animation:tickerScroll 28s linear infinite}
.ticker-wrap:hover{animation-play-state:paused}
.ticker-item{
  display:inline-flex;align-items:center;gap:1.2rem;padding:0 2rem;
  font-family:'Syne',sans-serif;font-size:.72rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink);
}
.ticker-sep{width:4px;height:4px;border-radius:50%;background:rgba(10,10,10,.3);flex-shrink:0}
@keyframes tickerScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── CLIENTS ── */
#clients{
  scroll-snap-align:none;min-height:unset;
  padding:4rem 5vw;background:var(--ink2);
  border-top:.5px solid var(--border);border-bottom:.5px solid var(--border);
}
.clients-label{text-align:center;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:2.5rem}
.clients-marquee-wrap{overflow:hidden;position:relative}
.clients-marquee-wrap::before,.clients-marquee-wrap::after{
  content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;
}
.clients-marquee-wrap::before{left:0;background:linear-gradient(90deg,var(--ink2),transparent)}
.clients-marquee-wrap::after{right:0;background:linear-gradient(-90deg,var(--ink2),transparent)}
.clients-track{display:flex;gap:0;animation:marquee 30s linear infinite}
.clients-track:hover{animation-play-state:paused}
.client-logo{
  flex:0 0 180px;height:72px;display:flex;align-items:center;justify-content:center;
  border-right:.5px solid var(--border);padding:0 2rem;
  transition:border-color .2s;
}
.client-logo:hover{border-color:var(--border2)}
.client-logo-inner{
  font-family:'Syne',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(245,240,232,.2);transition:color .25s;
  display:flex;align-items:center;gap:.5rem;
}
.client-logo:hover .client-logo-inner{color:rgba(201,168,76,.7)}
.client-logo-icon{width:20px;height:20px;flex-shrink:0;opacity:.4;transition:opacity .25s}
.client-logo:hover .client-logo-icon{opacity:.8}
.client-logo-icon svg{width:20px;height:20px;stroke:var(--primaryhighlightcol);fill:none;stroke-width:1.5;stroke-linecap:round}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* ── PROCESS / HOW IT WORKS ── */
#process{padding:7rem 5vw;background:var(--ink2);position:relative;overflow:hidden}
#process::after{
  content:'';position:absolute;top:50%;left:0;right:0;height:.5px;
  background:var(--border);pointer-events:none;
}
.process-intro{text-align:center;max-width:560px;margin:0 auto 4rem}
.process-steps{
  display:grid;grid-template-columns:repeat(5,1fr);gap:0;
  border:.5px solid var(--border);position:relative;z-index:1;
}
.process-step{
  padding:2rem 1.5rem;border-right:.5px solid var(--border);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;
  background:var(--ink2);position:relative;
  transition:background .25s;
}
.process-step:last-child{border-right:none}
.process-step:hover{background:#15120A}
.step-num{
  font-family:'Syne',sans-serif;font-size:2.5rem;font-weight:800;
  color:rgba(201,168,76,.06);line-height:1;position:absolute;top:.5rem;right:.8rem;
}
.step-circle{
  width:52px;height:52px;border-radius:50%;border:.5px solid var(--border2);
  background:rgba(201,168,76,.06);display:flex;align-items:center;justify-content:center;
  position:relative;z-index:1;transition:background .25s,border-color .25s;
}
.process-step:hover .step-circle{background:rgba(201,168,76,.12);border-color:var(--primaryhighlightcol)}
.step-circle svg{width:22px;height:22px;stroke:var(--primaryhighlightcol);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.step-title{font-family:'Syne',sans-serif;font-size:.85rem;font-weight:700;color:var(--off);position:relative;z-index:1}
.step-desc{font-size:.75rem;font-weight:300;line-height:1.65;color:rgba(245,240,232,.42);position:relative;z-index:1}
.step-connector{
  position:absolute;top:42px;right:-1px;z-index:2;
  width:2px;height:24px;background:var(--primaryhighlightcol);opacity:.3;
}
.process-step:last-child .step-connector{display:none}

/* ── CONTACT FORM ── */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:3rem;border:.5px solid var(--border)}
.contact-form-col{padding:3rem;border-right:.5px solid var(--border)}
.contact-details-col{padding:3rem;display:flex;flex-direction:column;gap:2rem;justify-content:center}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.form-group:last-child{margin-bottom:0}
.form-label{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.form-input{
  background:rgba(245,240,232,.04);border:.5px solid var(--border);border-radius:2px;
  padding:.75rem 1rem;font-size:.88rem;color:var(--off);font-family:'DM Sans',sans-serif;
  outline:none;transition:border-color .2s,background .2s;resize:none;
}
.form-input:focus{border-color:var(--primaryhighlightcol);background:rgba(201,168,76,.04)}
.form-input::placeholder{color:rgba(245,240,232,.2)}
.form-submit{
  width:100%;padding:.9rem;background:var(--primaryhighlightcol);color:var(--ink);border:none;cursor:pointer;
  font-family:'Syne',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.08em;
  text-transform:uppercase;border-radius:2px;margin-top:1.2rem;
  transition:background .2s,transform .15s;
}
.form-submit:hover{background:var(--primaryhighlightcol-light);transform:translateY(-1px)}
.contact-detail-item{display:flex;gap:1rem;align-items:flex-start}
.detail-icon{
  width:40px;height:40px;flex-shrink:0;border:.5px solid var(--border2);border-radius:2px;
  display:flex;align-items:center;justify-content:center;
}
.detail-icon svg{width:18px;height:18px;stroke:var(--primaryhighlightcol);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.detail-text{display:flex;flex-direction:column;gap:.2rem}
.detail-label{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.detail-value a,.detail-value a:visited {color:var(--off); text-decoration:none;}
.detail-value a:hover {color:#fff;text-decoration:underline;}
.detail-value{font-family:'Syne',sans-serif;font-size:.9rem;font-weight:600;color:var(--off)}
.social-row{display:flex;gap:.6rem;margin-top:.5rem}
.social-btn{
  width:34px;height:34px;border:.5px solid var(--border);border-radius:2px;
  display:flex;align-items:center;justify-content:center;
  color:var(--muted);font-size:.7rem;font-weight:700;font-family:'Syne',sans-serif;
  text-decoration:none;letter-spacing:.04em;transition:border-color .2s,color .2s,background .2s;
}
.social-btn:hover{border-color:var(--primaryhighlightcol);color:var(--primaryhighlightcol);background:rgba(201,168,76,.06)}

/* ── BACK TO TOP ── */
.btt{
  position:fixed;bottom:2rem;right:2rem;z-index:150;
  width:44px;height:44px;background:var(--primaryhighlightcol);border:none;cursor:pointer;
  border-radius:2px;display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(10px);transition:opacity .3s,transform .3s,background .2s;
  pointer-events:none;
}
.btt.visible{opacity:1;transform:translateY(0);pointer-events:all}
.btt:hover{background:var(--primaryhighlightcol-light)}
.btt svg{width:18px;height:18px;stroke:var(--ink);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}

/* RESPONSIVE */
@media(max-width:900px){
  #hero{grid-template-columns:1fr;grid-template-rows:auto auto}
  .hero-right{min-height:60vw}
  .person-frame{min-height:60vw}
  #about{grid-template-columns:1fr;gap:2.5rem;padding:5rem 5vw}
  .about-visual{height:280px}
  #benefits{grid-template-columns:1fr}
  .benefits-left{border-right:none;border-bottom:.5px solid rgba(10,10,10,.1);padding-bottom:3rem}
  .benefits-right{padding:3rem 5vw 5rem}
  .cap-panel.active{grid-template-columns:1fr}
  .feat-card{border-right:.5px solid var(--border)!important;border-bottom:.5px solid var(--border)!important}
  .feat-card:last-child{border-bottom:none!important}
  nav ul{display:none}
  #stats{flex-wrap:wrap}
  .stat-item{flex:1 0 45%;border-bottom:.5px solid var(--border)}
  .testi-card{flex:0 0 calc(100% - 0px)}
  .gallery-slide{flex:0 0 calc(50% - .5rem);aspect-ratio:4/3}
  .gallery-slide:first-child{flex:0 0 100%;aspect-ratio:16/9}
  .process-steps{grid-template-columns:1fr 1fr}
  .process-step{border-bottom:.5px solid var(--border)}
  .process-step:last-child{border-right:.5px solid var(--border)}
  .contact-grid{grid-template-columns:1fr}
  .contact-form-col{border-right:none;border-bottom:.5px solid var(--border);padding:2rem}
  .contact-details-col{padding:2rem}
  .form-row{grid-template-columns:1fr}
  #process::after{display:none}
  .clients-grid,.clients-grid-row2{grid-template-columns:repeat(2,1fr)}
  .client-card{border-right:.5px solid var(--border)!important;border-bottom:.5px solid var(--border)!important}
  .client-card:nth-child(even){border-right:none!important}
  .clients-trust-bar{gap:1.5rem}
}