
/* ============================================================
   EVOLOCK FINAL RESPONSIVE MASTER THEME — 2026
   Visual reference: Evolock "Your business. From idea to impact."
   ============================================================ */
:root{
  --ev-black:#1d1d1f;
  --ev-black-pure:#000;
  --ev-white:#fff;
  --ev-soft:#f5f5f7;
  --ev-soft-2:#fbfbfd;
  --ev-grey:#6e6e73;
  --ev-grey-2:#86868b;
  --ev-line:#d2d2d7;
  --ev-blue:#0066cc;
  --ev-gold-1:#b97800;
  --ev-gold-2:#d99500;
  --ev-gold-3:#f2c94c;
  --ev-gold-4:#c17c00;
  --ev-radius:30px;
  --ev-max:1180px;
  --ev-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:#fff}
body{
  margin:0!important;background:#fff!important;color:var(--ev-black)!important;
  font-family:var(--ev-font)!important;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:hidden;
}
img,video,svg,canvas{max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
::selection{background:var(--ev-gold-3);color:#111}

/* Navigation */
.nav,.site-header,header.header,body>header{
  position:sticky;top:0;z-index:1000;
  background:rgba(250,250,252,.86)!important;
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid rgba(0,0,0,.06)!important;
}
.nav{height:52px;position:fixed;left:0;right:0}
.navin{width:min(100%,var(--ev-max));height:100%;margin:auto;padding:0 22px;display:flex;align-items:center;gap:28px}
.logo img,.brand img{width:128px!important;height:auto!important;object-fit:contain}
.links{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:12px}
.links a{opacity:.72;transition:.2s ease}.links a:hover,.links a.active{opacity:1}
.navbtn,.primary,.btn-primary,.button-primary,[class*="primary-btn"]{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:11px 22px!important;border:0!important;
  border-radius:999px!important;background:var(--ev-black)!important;color:#fff!important;
  font:600 16px/1 var(--ev-font)!important;transition:transform .2s ease,background .2s ease;
}
.navbtn{min-height:32px!important;padding:8px 15px!important;font-size:12px!important}
.navbtn:hover,.primary:hover,.btn-primary:hover{background:#000!important;transform:translateY(-1px)}
.menu{display:none;margin-left:auto;border:0;background:transparent;color:var(--ev-black);font-size:24px}

/* Typography */
h1,h2,h3,h4,h5,h6{
  font-family:var(--ev-font)!important;color:inherit;
  font-weight:700!important;letter-spacing:-.045em!important;
}
p,li,input,textarea,select,button{font-family:var(--ev-font)!important}
.eyebrow,.kicker,.tag,.label,[class*="eyebrow"],[class*="kicker"]{
  color:var(--ev-gold-4)!important;font-weight:600!important;letter-spacing:-.01em;
}
.textlink,a.text-link,.link-arrow{color:var(--ev-blue)!important;font-weight:400}
.textlink:after,a.text-link:after{content:" ›";font-size:1.25em}

/* Exact reference-style hero */
.hero{
  min-height:760px;padding:132px 20px 74px!important;
  display:flex;flex-direction:column;justify-content:center;text-align:center;
  background:#fff!important;overflow:hidden;
}
.hero .eyebrow{font-size:clamp(17px,1.5vw,22px);margin:0 0 22px}
.hero h1{
  width:min(100%,1280px);margin:0 auto!important;
  font-size:clamp(58px,9.1vw,142px)!important;line-height:.94!important;
  letter-spacing:-.065em!important;
}
.hero h1 .accent,.accent,.gold-gradient,[class*="gold-gradient"]{
  background:linear-gradient(90deg,var(--ev-gold-1) 0%,var(--ev-gold-2) 26%,var(--ev-gold-3) 53%,var(--ev-gold-2) 76%,var(--ev-gold-4) 100%)!important;
  -webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;
}
.hero>p,.hero .lead,.hero-copy{
  width:min(100%,900px);margin:46px auto 0!important;
  color:var(--ev-grey)!important;font-size:clamp(20px,2.2vw,34px)!important;
  line-height:1.28!important;letter-spacing:-.035em;
}
.actions{display:flex;align-items:center;justify-content:center;gap:34px;margin-top:46px!important;flex-wrap:wrap}
.actions .textlink{font-size:clamp(17px,1.5vw,22px)}
.hero-visual{display:none!important}

/* Shared page hero patterns */
.page-hero,.subhero,.inner-hero,.service-hero,.industry-hero{
  padding:150px 20px 95px!important;text-align:center;background:#fff!important;
}
.page-hero h1,.subhero h1,.inner-hero h1,.service-hero h1,.industry-hero h1{
  max-width:1120px;margin:0 auto;font-size:clamp(52px,8vw,108px)!important;line-height:.95!important;
}
.page-hero p,.subhero p,.inner-hero p,.service-hero p,.industry-hero p{
  max-width:800px;margin:30px auto 0;color:var(--ev-grey)!important;
  font-size:clamp(19px,2vw,27px)!important;line-height:1.4;
}

/* Sections */
section{position:relative}
.band,.journey,.cta,.section,.section-pad{padding:110px 20px!important}
.band,.cta,.section-alt,section:nth-of-type(even):not(.hero):not(.full):not(.dark){
  background:var(--ev-soft)!important;
}
.section-title{
  max-width:1040px;margin:0 auto!important;text-align:center;
  font-size:clamp(46px,6.5vw,84px)!important;line-height:.97!important;letter-spacing:-.055em!important;
}
.section-copy{
  max-width:800px;margin:28px auto!important;text-align:center;color:var(--ev-grey)!important;
  font-size:clamp(18px,1.7vw,23px)!important;line-height:1.5;
}
.container,.wrap,.inner,.content,.journeyin,.footin{
  width:min(100%,var(--ev-max));margin-left:auto!important;margin-right:auto!important;
}

/* Cards */
.cards,.grid,.service-grid,.industry-grid,.package-grid{
  width:min(100%,var(--ev-max));margin:54px auto 0;
}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.card,.service-card,.industry-card,.package-card,.process-card,.feature-card{
  border:1px solid rgba(0,0,0,.07)!important;border-radius:var(--ev-radius)!important;
  background:#fff!important;color:var(--ev-black)!important;
  box-shadow:none!important;overflow:hidden;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .25s ease!important;
}
.card{min-height:390px;padding:44px!important;display:flex;flex-direction:column}
.card:hover,.service-card:hover,.industry-card:hover,.package-card:hover{transform:translateY(-4px)}
.card.dark,.dark,.section-dark,[class*="dark-section"]{background:#000!important;color:#f5f5f7!important}
.card h3{font-size:clamp(29px,3vw,40px)!important;line-height:1.02!important;margin:10px 0 16px!important}
.card p{color:var(--ev-grey)!important;font-size:17px!important;line-height:1.5}
.card.dark p{color:#a1a1a6!important}
.card .textlink{margin-top:auto}
.card img{display:none!important}

/* Dark premium section */
.full{
  min-height:700px!important;padding:100px 20px!important;background:#000!important;color:#fff!important;
  display:flex;align-items:center;overflow:hidden;
}
.full>img{display:none!important}
.full:before{
  content:"";position:absolute;width:min(60vw,720px);aspect-ratio:1;border-radius:50%;
  right:-12%;top:5%;border:1px solid rgba(242,201,76,.22);
  box-shadow:0 0 0 90px rgba(242,201,76,.025),0 0 0 180px rgba(242,201,76,.015)
}
.fullcopy{width:min(100%,var(--ev-max));margin:auto;padding:0!important;position:relative;z-index:2}
.fullcopy h2{max-width:820px;margin:12px 0 26px!important;font-size:clamp(52px,7.5vw,94px)!important;line-height:.94!important}
.fullcopy p{max-width:650px;color:#a1a1a6!important;font-size:clamp(19px,1.7vw,23px)!important;line-height:1.5}
.full .primary{background:var(--ev-gold-3)!important;color:#111!important}

/* Journey / steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:60px}
.step{padding:28px 10px;border-top:1px solid var(--ev-line)!important}
.step b{color:var(--ev-gold-4)!important;font-size:13px}
.step h3{font-size:26px!important;margin:12px 0!important}
.step p{color:var(--ev-grey)!important;line-height:1.5}

/* Forms */
input,textarea,select{
  width:100%;background:#fff!important;color:var(--ev-black)!important;
  border:1px solid var(--ev-line)!important;border-radius:16px!important;
  min-height:50px;padding:14px 16px!important;font-size:16px!important;
}
textarea{min-height:150px}
input:focus,textarea:focus,select:focus{outline:3px solid rgba(242,201,76,.32)!important;border-color:var(--ev-gold-2)!important}

/* Footer */
.footer,footer,.site-footer{background:var(--ev-soft)!important;color:var(--ev-grey)!important;padding:42px 20px!important}
.footin{padding-top:25px;border-top:1px solid var(--ev-line)!important;display:flex;justify-content:space-between;gap:24px}
.footin img{width:120px!important}

/* Motion */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.show{opacity:1;transform:none}

/* Large tablets */
@media(max-width:1024px){
  .hero{min-height:680px;padding-top:120px!important}
  .hero h1{font-size:clamp(62px,10vw,104px)!important}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Phones + portrait tablets */
@media(max-width:820px){
  .navin{padding:0 16px}.links{
    display:none;position:absolute;top:52px;left:0;right:0;margin:0;padding:18px 22px 28px;
    background:rgba(250,250,252,.98);backdrop-filter:blur(20px);flex-direction:column;align-items:flex-start;gap:20px;
    border-bottom:1px solid rgba(0,0,0,.08);font-size:16px
  }
  .links.open{display:flex}.navbtn{display:none!important}.menu{display:block}
  .hero{min-height:auto;padding:112px 18px 72px!important}
  .hero h1{font-size:clamp(54px,13.2vw,88px)!important}
  .hero>p,.hero .lead,.hero-copy{margin-top:30px!important;font-size:clamp(20px,4vw,27px)!important}
  .actions{margin-top:34px!important;gap:18px}
  .cards{grid-template-columns:1fr}.card{min-height:330px;padding:32px!important}
  .band,.journey,.cta,.section,.section-pad{padding:82px 18px!important}
  .full{min-height:620px!important;padding:80px 20px!important}
  .full:before{width:600px;right:-320px}
}
/* Small phones */
@media(max-width:520px){
  .logo img,.brand img{width:112px!important}
  .hero{padding:102px 16px 60px!important}
  .hero h1{font-size:clamp(49px,14.5vw,68px)!important;line-height:.96!important}
  .hero>p,.hero .lead,.hero-copy{font-size:20px!important;line-height:1.35!important}
  .actions{flex-direction:column}
  .primary{width:auto;min-width:230px}
  .section-title{font-size:44px!important}
  .section-copy{font-size:18px!important}
  .card{border-radius:24px!important;padding:28px 24px!important}
  .steps{grid-template-columns:1fr}
  .footin{flex-direction:column}
}
/* Very small devices */
@media(max-width:360px){
  .hero h1{font-size:46px!important}
  .section-title{font-size:39px!important}
  .primary{min-width:0;width:100%}
}
/* Wide screens */
@media(min-width:1600px){
  :root{--ev-max:1280px}
  .hero{min-height:820px}
}
/* Accessibility */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
}
