*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
body{background:#000;color:#fff;font-family:'Barlow',sans-serif;font-weight:300;overflow-x:hidden;cursor:none;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;}

/* ── CURSOR ── */
#cur{position:fixed;top:0;left:0;width:8px;height:8px;background:#fff;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:difference;}
#cur2{position:fixed;top:0;left:0;width:36px;height:36px;border:1px solid rgba(255,255,255,.35);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .28s,height .28s,opacity .28s;}
body.h #cur{transform:translate(-50%,-50%) scale(1.8);}
body.h #cur2{width:56px;height:56px;opacity:.4;}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;width:100%;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.4rem 3rem;transition:background .4s,border .4s;}
nav.scrolled{background:rgba(0,0,0,.92);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px);}
.nav-logo{display: inline-block; height: 2.5rem; min-height: 14px; text-decoration: none; color: inherit; cursor: none; vertical-align: middle; margin-left: -12px;}
.nav-logo img{height: 100%; opacity: 80%; width: auto; display: block;}
.nav-links{display:flex;gap:2.8rem;list-style:none;}
.nav-links a{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.55);text-decoration:none;transition:color .25s;position:relative;padding-bottom:3px;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:#fff;transition:width .3s;}
.nav-links a:hover{color:#fff;}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-links a.active{color:#fff;}

/* ── HERO ── */
.hero{position:relative;width:100vw;height:100vh;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.hero-video{position:absolute;inset:0;z-index:0;}
.hero-video video{width:100%;height:100%;object-fit:cover;opacity:.4;position:relative;z-index:1;}
.hero-bg{position:absolute;inset:0;background:#060606;z-index:0;}
.hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(to bottom,rgba(0,0,0,.3) 0%,rgba(0,0,0,.15) 40%,rgba(0,0,0,.6) 100%);}
.hero-inner{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;}
.hero-eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:400;letter-spacing:.5em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:1.8rem;}
.hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(6rem,18vw,18rem);line-height:.88;letter-spacing:.02em;color:#fff;margin-bottom:2rem;}

/* ── HERO TITLE TEXTURE ── */
.hero-title {background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 180px 180px; background-repeat: repeat; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; background-blend-mode: multiply; filter: blur(0.7px) contrast(110%); text-shadow: 0 0 15px rgba(255,255,255,0.1); }
@supports (-webkit-hyphens:none) {.hero-title, .grain-font { text-shadow: 0 0 3px rgba(255,255,255,0.05) !important; filter: blur(0.2px) contrast(115%) !important; }}

.hero-services{display:flex;align-items:center;gap:1.6rem;margin-bottom:3.5rem;}
.hero-services span{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.4);}
.hero-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.3);}
.hero-cta{font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:#fff;border:1px solid rgba(255,255,255,.5);padding:1.1rem 3rem;text-decoration:none;transition:background .3s,border-color .3s,color .3s;cursor:none;}
.hero-cta:hover{background:#fff;color:#000;border-color:#fff;}
.scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.7rem;}
.scroll-hint span{font-family:'Barlow Condensed',sans-serif;font-size:.6rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(255,255,255,.3);}
.scroll-line{width:1px;height:44px;background:rgba(255,255,255,.15);overflow:hidden;position:relative;}
.scroll-line::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:rgba(255,255,255,.6);animation:sl 1.9s ease-in-out infinite;}
@keyframes sl{0%{top:-100%}100%{top:100%}}

/* ── DIVIDER TICKER ── */
.ticker{padding:.85rem 0;overflow:hidden;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);margin-bottom: 20px;}
.ticker-track{display:flex;white-space:nowrap;animation:tick 20s linear infinite;}
.ticker-track span{font-family:'Barlow Condensed',sans-serif;font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(255,255,255,.22);padding:0 2.5rem;}
.ticker-track span.dot{color:rgba(255,255,255,.15);padding:0;}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── SERVICES ── */
.services{padding:5rem 3rem;padding-top: 100px;}
.s-top{margin-bottom:2rem;}
.eyebrow{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:400;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:1rem;}
.big-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(4rem,10vw,8rem);line-height:.9;color:#fff;letter-spacing:.02em;}
.s-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.1);}
.sv{padding:3rem 2.5rem;border-bottom:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1);position:relative;overflow:hidden;transition:background .35s;}
.sv:nth-child(3n){border-right:none;}
.sv::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.03);opacity:0;transition:opacity .35s;}
.sv:hover::before{opacity:1;}
.sv-num{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:400;letter-spacing:.2em;color:rgba(255,255,255,.25);margin-bottom:1.8rem;display:block;}
.sv-name{font-family:'Bebas Neue',sans-serif;font-size:2.2rem;letter-spacing:.03em;color:#fff;margin-bottom:1rem;line-height:1;}
.sv-desc{font-size:.84rem;color:rgba(255,255,255,.38);line-height:1.9;font-weight:300;}

/* ── ABOUT ── */
.about{display:grid;grid-template-columns:1fr 1fr;padding-top: 130px; padding-bottom: 50px;}
.about-img{position:relative;overflow:hidden;min-height:600px;}
.about-img video{width:100%;height:100%;min-height:600px;object-fit:cover;opacity:.7;display:block;position:absolute;top:0;left:0;}
.about-content{padding:6rem 4rem;display:flex;flex-direction:column;justify-content:center;}
.about-content .big-title{margin-bottom:2.5rem;}
.about-body{font-size:.95rem;color:rgba(255,255,255,.5);line-height:1.95;margin-bottom:1.6rem;font-weight:300;}
.about-body strong{color:#fff;font-weight:400;}
.about-stats-row{display:flex;gap:0;margin-top:3.5rem;border-top:1px solid rgba(255,255,255,.1);padding-top:2.5rem;}
.astat{flex:1;padding-right:2rem;}
.astat+.astat{border-left:1px solid rgba(255,255,255,.1);padding-left:2rem;padding-right:0;}
.astat-n{font-family:'Bebas Neue',sans-serif;font-size:3.5rem;color:#fff;line-height:1;}
.astat-l{font-family:'Barlow Condensed',sans-serif;font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-top:.2rem;}

/* ── CONTACT ── */
.contact{padding:6rem 3rem;display:grid;grid-template-columns:1fr 1.1fr;gap:6rem;align-items:start;}
.contact-left .big-title{margin-bottom:1.5rem;line-height:.9;}
.contact-left>p{font-size:.92rem;color:rgba(255,255,255,.4);line-height:1.85;max-width:360px;margin-bottom:2.5rem;}
.contact-right{margin-top: 60px;}
.clinks{display:flex;flex-direction:column;gap:1rem;}
.clink{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:400;letter-spacing:.08em;color:rgba(255,255,255,.55);text-decoration:none;transition:color .25s;}
.clink:hover{color:#fff;}
.form{display:flex;flex-direction:column;gap:0;user-select:text;-webkit-user-select:text;}
.fg{display:flex;flex-direction:column;gap:.4rem;padding:1.3rem 0;border-bottom:1px solid rgba(255,255,255,.1);}
.fg label{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;font-weight:400;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom: 5px;}
.fg input,.fg textarea,.fg select{background:transparent;border:none;color:#fff;font-family:'Barlow',sans-serif;font-weight:300;font-size:.95rem;outline:none;width:100%;}
.fg select option{background:#111;color:#fff;}
.fg textarea{resize:none;height:80px;line-height:1.7;}
.fg input::placeholder,.fg textarea::placeholder{color:rgba(255,255,255,.18);}
.btn-send{margin-top:2.5rem;background:#fff;color:#000;border:none;font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.35em;text-transform:uppercase;padding:1.2rem 3rem;cursor:none;transition:background .3s,color .3s;align-self:flex-start;}
.btn-send:hover{background:rgba(255,255,255,.85);}
.grain-font {background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 250 250' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 180px 180px; background-repeat: repeat; -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; background-blend-mode: multiply; filter: blur(0.4px) contrast(110%); text-shadow: 0 0 15px rgba(255,255,255,0.1); }
.contact-title{font-family:'Barlow Condensed',sans-serif;font-size:1.4rem;font-weight:800;letter-spacing:.42em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:0.5rem;}

/* ── PRIVACY POLICY ── */
.privacy-pol { padding-right: 180px;padding-left: 180px;}
.clink a {text-decoration: none; color: inherit; display: inline-block;}
body {opacity: 0; transition: opacity 0.3s cubic-bezier(0.25, 0.1, 0.25, 1); will-change: opacity; background-color: #000;}
body.loaded {opacity: 1;}
.privacy-txt {padding-right: 400px;}

/* ── FOOTER ── */
footer{border-top:1px solid rgba(255,255,255,.08);padding:1rem;padding-bottom: 2rem; text-align: center;}
.f-logo{display: inline-block; opacity: 80%; height: 4.5rem; min-height: 14px; text-decoration: none; color: inherit; cursor: none; vertical-align: middle;}
.f-logo img{height: 100%; width: auto; display: block;}
.f-sub{font-family:'Barlow Condensed',sans-serif;font-size:.9rem;letter-spacing:.35em;text-transform:uppercase;color:rgba(255, 255, 255, 0.472);margin-bottom:0rem;}
.f-copy{font-size:.9rem;color:rgba(255,255,255,.25);letter-spacing:.05em;}
.privacy{font-size:.9rem;color:rgba(255,255,255,.25);letter-spacing:.05em;}
.footer-bottom { display: flex; justify-content: space-between; padding: 12px 38%; font-family: 'Barlow Condensed', sans-serif; font-size: 12px; opacity: 0.6;}
.f-logo {text-decoration: none; color: inherit; display: inline-block;}

/* ── REVEAL ── */
.r{opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);}
.r.on{opacity:1;transform:none;}
.d1{transition-delay:.05s}.d2{transition-delay:.12s}.d3{transition-delay:.2s}.d4{transition-delay:.28s}.d5{transition-delay:.36s}.d6{transition-delay:.44s}

@media(max-width:900px){
  nav{padding:1.2rem 1.8rem;}
  .services{padding:5rem 1.8rem;}
  .s-grid{grid-template-columns:1fr 1fr;}
  .sv:nth-child(3n){border-right:1px solid rgba(255,255,255,.1);}
  .sv:nth-child(2n){border-right:none;}
  .about{grid-template-columns:1fr;}
  .about-img{min-height:320px;}
  .about-content{padding:4rem 1.8rem;}
  .contact{grid-template-columns:1fr;gap:3rem;padding:5rem 1.8rem;}
  footer{padding:2rem 1.8rem;}
}

@media(max-width:1024px){
  #services{scroll-margin-top:100px!important;}
  #about{scroll-margin-top:80px!important;}
  nav{position:fixed!important;top:0!important;left:0!important;width:100%!important;z-index:999999!important;transform:none!important;transition:none!important;background:rgba(0,0,0,0.95)!important;}
 .about{display:flex!important;flex-direction:column!important;padding:0!important;}
 .about-content{padding:4rem 1.5rem!important;width:100%!important;box-sizing:border-box!important;overflow:hidden!important;}
 .about-body{width:100%!important;max-width:100%!important;word-wrap:break-word!important;}.about-img{width:100%!important;min-height:400px!important;}
.about .big-title{font-size:8.5vw!important;line-height:1!important;white-space:normal!important;display:block!important;width:100%!important;max-width:100%!important;word-break:keep-all!important;overflow:visible!important;text-align:left!important;}
.nav-links{display:flex!important;gap:0.5rem!important;padding-right:1rem!important;justify-content:flex-end!important;flex-shrink:1!important;overflow:visible!important;}
.nav-links a{font-size:0.9rem!important;padding:0.4rem 0.4rem!important;white-space:nowrap!important;letter-spacing:0.02em!important;}
.privacy-pol{width:100%!important;max-width:1200px!important;margin:0 auto!important;padding:6rem 5% 5rem!important;display:block!important;box-sizing:border-box!important;overflow-wrap:break-word!important;}.privacy-txt{width:100%!important;display:block!important;}.big-title.grain-font{font-size:clamp(2.5rem, 10vw, 6rem)!important;line-height:1.1!important;white-space:normal!important;word-break:keep-all!important;margin-bottom:2rem!important;}.about-body{font-size:clamp(1rem, 1.2vw, 1.2rem)!important;width:100%!important;max-width:800px!important;margin-bottom:1.5rem!important;}@media(max-width:768px){.privacy-pol{padding-top:8rem!important;}.big-title.grain-font{font-size:3rem!important;}}
}

@media(max-width:580px){
  .s-grid{grid-template-columns:1fr;}
  .sv:nth-child(2n){border-right:1px solid rgba(255,255,255,.1);}
  .sv{border-right:none!important;}
  .hero-title{font-size:clamp(5rem,22vw,8rem);}
  .hero-services{flex-direction:column;gap:.8rem;}
  .hero-dot{display:none;}
  .about-stats-row{flex-direction:column;gap:1.5rem;}
  .astat+.astat{border-left:none;border-top:1px solid rgba(255,255,255,.1);padding-left:0;padding-top:1.5rem;}
  .nav-links{display:flex;gap:0.8rem;padding:0;margin:0;flex-shrink:1;}
  .f-sub{display:flex!important;flex-direction:row!important;justify-content:center;gap:0.4rem;width:100%;font-size:0.9rem;letter-spacing:0.05em;margin-bottom:0.7rem;flex-wrap:nowrap;}
  .footer-bottom{display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;width:100%!important;padding: 1.4em 1.8em 0 1.8em!important;opacity:1;}
  .privacy{text-align:left!important;font-size:0.75rem;flex:1;}
  .privacy a{white-space:nowrap;color:inherit;text-decoration:none;}
  .f-copy{text-align:right!important;font-size:0.75rem;line-height:1.3;flex:1;color:rgba(255,255,255,.25);}
  .f-copy span{display:block;}
  .privacy-pol{padding:2.5rem 1.5rem!important;display:block!important;width:100%!important;box-sizing:border-box!important;}
  .privacy-txt{width:100%!important;padding:0!important;margin:0!important;display:block!important;}
  .privacy-txt p{text-align:left!important;font-size:1rem!important;line-height:1.5!important;width:100%!important;margin-bottom:1.5rem!important;text-transform:none!important;letter-spacing:normal!important;}
  .big-title.r.d1{font-size:4rem!important;line-height:1!important;text-align:left!important;margin-bottom:2rem!important;width:100%!important;}
  .about-content{padding:3rem 3rem!important;}
  .about-content h2{font-size:7.8vw!important;white-space:nowrap!important;letter-spacing:0.01em!important;display:block!important;width:100%!important;}
  .contact{padding:3rem 3rem!important;}
  .btn-send{align-self:center!important;}
  .hero-eyebrow{font-size:4.3vw!important;white-space:nowrap!important;letter-spacing:0.01em!important;display:block!important;width:100%!important;}
   html,body{position:relative;overflow-x:hidden;-webkit-overflow-scrolling:touch;}nav{position:fixed!important;top:0!important;left:0!important;width:100%!important;z-index:999999!important;transform:none!important;transition:none!important;}
   #about{scroll-margin-top: 90px!important;} 
   #contact{scroll-margin-top: 40px!important;}
   #services{scroll-margin-top: 20px!important;}
  }

  @media only screen and (min-width: 834px) and (max-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) {
    #about {scroll-margin-top: 150px !important;padding-top: 7rem !important;padding-bottom: 5rem !important;}
    #services {scroll-margin-top: 110px !important;padding-top: 4rem !important;padding-bottom: 4rem !important;}
    #contact {scroll-margin-top: 80px !important; padding-top: 14rem !important; padding-bottom: 4rem !important;}
    #contact{display:flex!important;align-items:center!important;justify-content:flex-start!important; margin-bottom: 170px; margin-left: 100px;}
  }

  @media (pointer: fine) {
  #cur{position:fixed;top:0;left:0;width:8px;height:8px;background:#fff;border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);mix-blend-mode:difference;}
  #cur2{position:fixed;top:0;left:0;width:36px;height:36px;border:1px solid rgba(255,255,255,.35);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:width .28s,height .28s,opacity .28s;}
  body.h #cur{transform:translate(-50%,-50%) scale(1.8);}
  body.h #cur2{width:56px;height:56px;opacity:.4;}
  }

  @media (pointer: coarse) { #cur, #cur2 { display: none; } 
  }