:root {
  --bg:        #F5EFE6;
  --bg2:       #EFE5D8;
  --section-a: #FBF6EE;
  --section-b: #F1E8DB;
  --section-divider: rgba(79,61,39,0.12);
  --surf:      #FFFFFF;
  --surf2:     #DDCFBA;
  --border:    rgba(79,61,39,0.12);
  --borderl:   rgba(79,61,39,0.20);
  --purple:    #5E56C9;
  --purplel:   #7E75E6;
  --amber:     #F59E0B;
  --orange:    #FB923C;
  --cyan:      #22D3EE;
  --lime:      #A3E635;
  --text:      #231B14;
  --muted:     #756B5E;
  --faint:     #E8DDCD;
  --nav-bg: rgba(251,246,238,.88);
  --nav-shadow: rgba(94,86,201,.22);
  --nav-shadow-hover: rgba(94,86,201,.26);
  --logo-glow-core: radial-gradient(circle,rgba(255,249,240,.96) 0%,rgba(255,213,157,.72) 24%,rgba(126,117,230,.18) 58%,rgba(126,117,230,0) 82%);
  --logo-glow-ring: radial-gradient(circle,rgba(94,86,201,.22) 0%,rgba(94,86,201,.08) 48%,rgba(94,86,201,0) 74%);
  --hero-outline: rgba(35,27,20,.18);
  --btn-shadow: rgba(94,86,201,.22);
  --btn-shadow-hover: rgba(94,86,201,.28);
  --card-base: #E3D7C7;
  --card-border-strong: rgba(79,61,39,.22);
  --card-shadow: rgba(87,64,36,.12);
  --card-overlay-top: rgba(255,250,244,.04);
  --card-overlay-mid: rgba(63,49,34,.12);
  --card-overlay-bottom: rgba(31,24,18,.54);
  --card-hover-mid: rgba(31,24,18,.32);
  --card-hover-bottom: rgba(31,24,18,.82);
  --card-title: #FFF7EE;
  --card-copy: rgba(255,246,236,.82);
  --process-num: rgba(35,27,20,.16);
  --quick-card-bg: linear-gradient(180deg,#FFFFFF 0%,#F6EFE5 100%);
  --quick-card-shadow: rgba(87,64,36,.10);
  --fd: 'Syne', sans-serif;
  --fb: 'DM Sans', sans-serif;
  --fm: 'DM Mono', monospace;
}
body[data-theme="dark"]{
  --bg:        #0F0E17;
  --bg2:       #16141F;
  --section-a: #16151F;
  --section-b: #16141F;
  --section-divider: rgba(255,255,255,0.08);
  --surf:      #1E1B2E;
  --surf2:     #252239;
  --border:    rgba(255,255,255,0.08);
  --borderl:   rgba(255,255,255,0.14);
  --purple:    #7C5CFC;
  --purplel:   #A78BFA;
  --text:      #F0EEF8;
  --muted:     #7B7491;
  --faint:     #1A1828;
  --nav-bg: rgba(28,24,44,.9);
  --nav-shadow: rgba(124,92,252,.3);
  --nav-shadow-hover: rgba(124,92,252,.4);
  --logo-glow-core: radial-gradient(circle,rgba(255,255,255,.92) 0%,rgba(214,191,255,.95) 18%,rgba(150,105,255,.75) 44%,rgba(124,92,252,.18) 68%,rgba(124,92,252,0) 82%);
  --logo-glow-ring: radial-gradient(circle,rgba(124,92,252,.42) 0%,rgba(124,92,252,.18) 48%,rgba(124,92,252,0) 74%);
  --hero-outline: rgba(255,255,255,.22);
  --btn-shadow: rgba(124,92,252,.35);
  --btn-shadow-hover: rgba(124,92,252,.45);
  --card-base: #13101E;
  --card-border-strong: rgba(255,255,255,.18);
  --card-shadow: rgba(0,0,0,.4);
  --card-overlay-top: rgba(10,8,20,.06);
  --card-overlay-mid: rgba(10,8,20,.16);
  --card-overlay-bottom: rgba(10,8,20,.65);
  --card-hover-mid: rgba(10,8,20,.5);
  --card-hover-bottom: rgba(10,8,20,.86);
  --card-title: #FFFFFF;
  --card-copy: rgba(240,238,248,.74);
  --process-num: rgba(37,34,57,1);
  --quick-card-bg: linear-gradient(180deg,rgba(30,27,46,.94) 0%,rgba(22,20,31,.98) 100%);
  --quick-card-shadow: rgba(0,0,0,.26);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{background:var(--bg);color:var(--text);font-family:var(--fb);font-weight:400;line-height:1.65;overflow-x:hidden;}
::-webkit-scrollbar{width:3px;}
::-webkit-scrollbar-track{background:var(--bg2);}
::-webkit-scrollbar-thumb{background:var(--surf2);border-radius:2px;}
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.018;background-size:150px;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 5vw;height:68px;border-bottom:1px solid var(--section-divider);background:var(--nav-bg);backdrop-filter:blur(20px);gap:1.25rem;}
.logo{color:var(--text);text-decoration:none;display:flex;align-items:center;}
.logo-mark{position:relative;display:block;isolation:isolate;--glow-center-x:0.9%;--glow-center-y:50%;--glow-size:42px;--glow-blur:11px;}
.logo-mark::before,.logo-mark::after{content:'';position:absolute;left:var(--glow-center-x);top:var(--glow-center-y);border-radius:50%;pointer-events:none;z-index:-1;}
.logo-mark::before{width:var(--glow-size);height:var(--glow-size);transform:translate(-50%,-50%);background:var(--logo-glow-core);filter:blur(var(--glow-blur));opacity:.74;animation:uptimePulse 2.2s ease-in-out infinite;}
.logo-mark::after{width:calc(var(--glow-size) + 16px);height:calc(var(--glow-size) + 16px);transform:translate(-50%,-50%) scale(.92);background:var(--logo-glow-ring);filter:blur(calc(var(--glow-blur) + 6px));opacity:.48;animation:uptimeAura 2.2s ease-in-out infinite;}
.logo-mark img{display:block;height:52px;width:auto;}
@keyframes pdot{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.65);}}
@keyframes uptimePulse{0%,100%{opacity:.72;transform:translateY(-50%) scale(.84);}50%{opacity:1;transform:translateY(-50%) scale(1.16);}}
@keyframes uptimeAura{0%,100%{opacity:.38;transform:translateY(-50%) scale(.9);}50%{opacity:.82;transform:translateY(-50%) scale(1.12);}}
.nav-ul{display:flex;gap:2.5rem;list-style:none;margin-left:0;justify-content:center;}
.nav-ul a{font-family:var(--fm);font-size:.74rem;color:var(--muted);text-decoration:none;letter-spacing:.07em;text-transform:uppercase;font-weight:400;transition:color .2s;}
.nav-ul a:hover{color:var(--text);}
.nav-actions{display:flex;align-items:center;gap:.65rem;margin-left:auto;justify-content:flex-end;}
.nav-btn{font-family:var(--fm);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--purple),var(--amber));border:none;cursor:pointer;padding:.6rem 1.5rem;border-radius:50px;text-decoration:none;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 10px 26px var(--nav-shadow);}
.nav-btn:hover{opacity:.94;transform:translateY(-1px);box-shadow:0 14px 34px var(--nav-shadow-hover);}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;color:var(--text);background:transparent;border:1px solid var(--borderl);cursor:pointer;width:46px;height:46px;border-radius:999px;transition:border-color .2s,color .2s,background .2s,transform .2s;}
.theme-toggle:hover{border-color:var(--purplel);background:rgba(126,117,230,.08);transform:translateY(-1px);}
.theme-toggle-icons{display:flex;align-items:center;gap:.2rem;}
.theme-icon{display:block;transition:opacity .2s,transform .2s,color .2s;}
.theme-icon.sun{opacity:1;transform:scale(1);}
.theme-icon.moon{opacity:.42;transform:scale(.9);}
body[data-theme="dark"] .theme-icon.sun{opacity:.42;transform:scale(.9);}
body[data-theme="dark"] .theme-icon.moon{opacity:1;transform:scale(1);}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;}
.burger span{display:block;width:22px;height:1.5px;background:var(--text);transition:.3s;}

/* HERO */
#hero{position:relative;z-index:1;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:130px 5vw 80px;overflow:hidden;background:var(--section-a);}
.hero-glow{position:absolute;pointer-events:none;border-radius:50%;filter:blur(80px);opacity:.35;}
.glow-1{width:600px;height:600px;background:var(--purple);top:-100px;right:-100px;}
.glow-2{width:400px;height:400px;background:#F59E0B;bottom:-50px;left:5%;}
.glow-3{width:300px;height:300px;background:var(--cyan);top:40%;left:40%;opacity:.15;}
.h-chip{display:inline-flex;align-items:center;gap:.5rem;background:rgba(124,92,252,.12);border:1px solid rgba(124,92,252,.25);border-radius:50px;padding:.35rem .9rem;font-family:var(--fm);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--purplel);margin-bottom:2rem;opacity:0;animation:fup .7s .15s forwards;}
.h-chip-dot{width:6px;height:6px;border-radius:50%;background:var(--purplel);animation:pdot 2s infinite;}
.h-title{font-family:var(--fd);font-weight:800;font-size:clamp(3rem,8.5vw,7.5rem);line-height:.95;letter-spacing:-.04em;color:var(--text);opacity:0;animation:fup .8s .3s forwards;max-width:none;}
.h-title .grad{background:linear-gradient(90deg,var(--purplel),var(--amber),var(--orange));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.h-title .outline{-webkit-text-stroke:1.5px var(--hero-outline);-webkit-text-fill-color:transparent;font-style:italic;display:block;}
.h-sub{margin-top:2rem;font-size:1.1rem;color:var(--muted);max-width:46ch;line-height:1.72;opacity:0;animation:fup .8s .45s forwards;}
.h-sub strong{color:var(--text);font-weight:500;}
.h-btns{margin-top:2.8rem;display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap;opacity:0;animation:fup .8s .6s forwards;}
.btn-main{font-family:var(--fb);font-size:.95rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--purple),var(--amber));padding:.9rem 2.4rem;border-radius:50px;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 12px 30px var(--btn-shadow);}
.btn-main:hover{transform:translateY(-2px);box-shadow:0 18px 38px var(--btn-shadow-hover);}
.btn-sec{font-family:var(--fb);font-size:.95rem;font-weight:500;color:var(--text);text-decoration:none;border:1px solid var(--borderl);border-radius:50px;padding:.9rem 2rem;display:flex;align-items:center;gap:.5rem;transition:border-color .2s,color .2s;}
.btn-sec:hover{border-color:var(--purplel);color:var(--text);}
.btn-sec svg{transition:transform .2s;}
.btn-sec:hover svg{transform:translateX(3px);}
/* MARQUEE */
.marquee-wrap{padding:2.5rem 0;overflow:hidden;border-top:1px solid var(--section-divider);border-bottom:1px solid var(--section-divider);background:var(--section-b);position:relative;z-index:1;}
.marquee-track{display:flex;gap:0;animation:marquee 22s linear infinite;width:max-content;}
.marquee-item{font-family:var(--fd);font-size:1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;padding:0 2.5rem;white-space:nowrap;color:var(--muted);display:flex;align-items:center;gap:2.5rem;}
.marquee-item::after{content:'•';color:var(--purple);font-size:.7rem;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* SECTIONS */
section{position:relative;z-index:1;}
.si{max-width:1000px;margin:0 auto;padding:0 5vw;}
.s-label{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--fm);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--purplel);margin-bottom:1rem;}
.s-label::before{content:'';width:16px;height:1px;background:var(--purplel);}
.s-ttl{font-family:var(--fd);font-weight:800;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.03em;color:var(--text);line-height:1.05;}
.s-sub{font-size:1rem;color:var(--muted);max-width:50ch;margin-top:.9rem;line-height:1.72;}
.work-top,
.proc-hd,
.contact-break{max-width:760px;margin-left:auto;margin-right:auto;text-align:center;}
.work-top,
.contact-break{margin-bottom:2.8rem;}
.proc-hd{margin-bottom:5rem;}
.work-top > div,
.proc-hd,
.contact-break{display:flex;flex-direction:column;align-items:center;}
.visions-mobile-controls{display:none;}

/* PROCESS */
#process{padding:112px 0 130px;background:var(--section-b);border-top:1px solid var(--section-divider);position:relative;}
#process::after{content:'';position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(251,146,60,.13) 0%,transparent 70%);bottom:-160px;left:-80px;pointer-events:none;z-index:0;}
#process .si{position:relative;z-index:1;}
.proc-list{display:flex;flex-direction:column;}
.prow{display:grid;grid-template-columns:80px 1fr 1fr;gap:2rem;align-items:center;padding:2rem 0;border-bottom:1px solid var(--border);transition:background .2s;}
.prow:last-child{border-bottom:none;}
.prow-num{font-family:var(--fd);font-size:2.5rem;font-weight:800;color:var(--process-num);letter-spacing:-.05em;transition:color .3s;line-height:1;}
.prow:hover .prow-num{background:linear-gradient(135deg,var(--purple),var(--amber));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.prow-title{font-family:var(--fd);font-size:1.3rem;font-weight:700;color:var(--text);letter-spacing:-.02em;}
.prow-desc{font-size:.9rem;color:var(--muted);line-height:1.65;}

/* VISIONS */
#visions{padding:112px 0 130px;background:var(--section-a);border-top:1px solid var(--section-divider);position:relative;}
#visions::after{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(251,146,60,.09) 0%,transparent 70%);bottom:-150px;right:-100px;pointer-events:none;z-index:0;}

/* BLOG */
#work{padding:112px 0 130px;background:var(--section-b);border-top:1px solid var(--section-divider);position:relative;}
#work::after{content:'';position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(94,86,201,.08) 0%,transparent 72%);top:-120px;right:-120px;pointer-events:none;z-index:0;}
#work .si{position:relative;z-index:1;}
.proj-grid{display:grid;gap:1.5rem;max-width:1120px;margin:0 auto;}
.pcard{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);background:var(--surf);border:1px solid var(--border);border-radius:28px;overflow:hidden;transition:border-color .25s,transform .25s,box-shadow .25s;}
.pcard:hover{border-color:var(--borderl);transform:translateY(-4px);box-shadow:0 24px 54px var(--quick-card-shadow);}
.pcard-thumb{min-height:100%;background:var(--faint);}
.pcard-media{display:block;width:100%;height:100%;object-fit:cover;}
.pcard-body{display:flex;flex-direction:column;justify-content:center;padding:2.2rem 2.4rem;}
.pcard-cat{font-family:var(--fm);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--purplel);margin-bottom:.9rem;}
.pcard-name{font-family:var(--fd);font-size:clamp(1.6rem,2vw,2.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;color:var(--text);margin-bottom:.85rem;}
.pcard-desc{font-size:1rem;line-height:1.8;color:var(--muted);max-width:56ch;}
.ptags{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.2rem;}
.ptag{display:inline-flex;align-items:center;min-height:32px;padding:0 .9rem;border-radius:999px;background:rgba(126,117,230,.08);border:1px solid rgba(126,117,230,.14);font-family:var(--fm);font-size:.67rem;letter-spacing:.08em;text-transform:uppercase;color:var(--purple);}

/* Wrapper */
.visions-scroll-wrap{
  margin-top:2.6rem;
  width:calc(100vw - 20vw);
  margin-left:calc(50% - 50vw + 10vw);
  overflow:hidden;
}

/* Grid dos cartões */
.visions-track{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:1rem;
  padding:0;
  align-items:stretch;
}

/* Cartão base */
.vc{
  position:relative;
  min-height:380px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border);
  background:var(--card-base);
  isolation:isolate;
  transition:
    border-color .28s ease,
    transform .28s ease,
    box-shadow .28s ease;
}
.vc:hover{
  border-color:var(--card-border-strong);
  transform:translateY(-4px);
  box-shadow:0 20px 52px var(--card-shadow);
}

/* Imagem de fundo */
.vc-img{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transition:transform .45s ease,opacity .35s ease;
  opacity:.82;
}
.vc:hover .vc-img{
  transform:scale(1.04);
  opacity:.96;
}

/* Gradiente interno — leve, só para legibilidade do texto */
.vc::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(
    180deg,
    var(--card-overlay-top) 0%,
    var(--card-overlay-mid) 45%,
    var(--card-overlay-bottom) 100%
  );
  z-index:1;
  pointer-events:none;
}

/* Título fixo (sempre visível, em baixo) */
.vc-title{
  position:absolute;
  bottom:1.8rem;
  left:1.35rem;
  right:1.1rem;
  z-index:2;
  font-family:var(--fd);
  font-size:clamp(1.08rem,1.3vw,1.52rem);
  font-weight:700;
  letter-spacing:-.04em;
  color:var(--card-title);
  line-height:1;
  transition:opacity .28s ease, transform .28s ease;
}
.vc:hover .vc-title{
  opacity:0;
  transform:translateY(5px);
}

/* Painel de hover */
.vc-hover{
  position:absolute;
  inset:0;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:1.8rem;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .28s ease, transform .28s ease;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    transparent 0%,
    var(--card-hover-mid) 36%,
    var(--card-hover-bottom) 100%
  );
}
.vc:hover .vc-hover{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.vc-hover-label{
  display:block;
  font-family:var(--fd);
  font-size:clamp(1.2rem,1.5vw,1.75rem);
  font-weight:700;
  letter-spacing:-.04em;
  color:var(--card-title);
  line-height:1;
  margin-bottom:.6rem;
}
.vc-hover p{
  max-width:30ch;
  font-size:.95rem;
  color:var(--card-copy);
  line-height:1.68;
}

/* Dim subtil nos outros cartões quando há hover */
.visions-track:has(.vc:hover) .vc:not(:hover){
  filter:saturate(.75) brightness(.88);
  transition:filter .28s ease,border-color .28s ease,transform .28s ease,box-shadow .28s ease;
}

/* Imagens por cartão */
.vc-design   .vc-img{background-image:linear-gradient(135deg,rgba(124,92,252,.38),rgba(251,146,60,.14)),url('../images/home/design.webp');background-color:#1a1530;}
.vc-content  .vc-img{background-image:linear-gradient(135deg,rgba(251,146,60,.22),rgba(124,92,252,.22)),url('../images/articles/security.webp');background-color:#1a1530;}
.vc-seo      .vc-img{background-image:linear-gradient(135deg,rgba(245,158,11,.28),rgba(124,92,252,.18)),url('../images/home/seo.webp');background-color:#1a1a10;}
.vc-hosting  .vc-img{background-image:linear-gradient(135deg,rgba(34,211,238,.2),rgba(124,92,252,.26)),url('../images/home/hosting.webp');background-color:#0e1a1e;}
.vc-security .vc-img{background-image:linear-gradient(135deg,rgba(34,211,238,.26),rgba(15,14,23,.32)),url('../images/home/security.webp');background-color:#0e181e;}
.vc-support  .vc-img{background-image:linear-gradient(135deg,rgba(124,92,252,.24),rgba(34,211,238,.16)),url('../images/home/support.webp');background-color:#12102a;}

/* Responsivo */
@media(max-width:1100px){
  .pcard{grid-template-columns:minmax(240px,320px) minmax(0,1fr);}
  .visions-track{grid-template-columns:repeat(3,minmax(0,1fr));}
  .vc{min-height:340px;}
}
@media(max-width:700px){
  .pcard{grid-template-columns:1fr;}
  .pcard-thumb{min-height:240px;}
  .pcard-body{padding:1.6rem;}
  .visions-mobile-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0 auto 1.2rem;}
  .visions-arrow{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:1px solid var(--border);background:var(--surf);color:var(--text);cursor:pointer;box-shadow:0 12px 24px var(--quick-card-shadow);}
  .visions-arrow[disabled]{opacity:.42;cursor:default;box-shadow:none;}
  .visions-mobile-status{font-family:var(--fm);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
  .visions-scroll-wrap{width:100%;margin-left:0;margin-top:0;}
  .visions-track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;}
  .visions-track::-webkit-scrollbar{display:none;}
  .vc{min-width:100%;width:100%;min-height:360px;scroll-snap-align:start;}
  .vc-hover{opacity:1;transform:none;pointer-events:auto;padding:2rem 1.6rem;}
  .vc-title{opacity:0;}
}
@media(max-width:420px){
  .vc{min-height:332px;}
}

/* WHY */
#why{padding:112px 0 130px;background:var(--section-a);border-top:1px solid var(--section-divider);position:relative;overflow:visible;}
#why::after{content:'';position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.11) 0%,transparent 70%);top:-140px;right:-120px;pointer-events:none;z-index:0;}
#why .si{position:relative;z-index:1;}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start;max-width:1100px;}
.why-left{align-self:start;position:-webkit-sticky;position:sticky;top:calc(68px + 2rem);height:fit-content;}
.why-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.wcard{background:var(--surf);border:1px solid var(--border);border-radius:16px;padding:1.8rem;text-align:center;transition:transform .25s,border-color .25s;}
.wcard:hover{transform:translateY(-4px);border-color:var(--borderl);}
.wcard-val{font-family:var(--fd);font-size:2.2rem;font-weight:800;color:var(--text);letter-spacing:-.05em;line-height:1;}
.wcard-val em{font-style:normal;background:linear-gradient(135deg,var(--purplel),var(--amber));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.wcard-lbl{font-family:var(--fm);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.5rem;}
.why-pts{margin-top:0;display:flex;flex-direction:column;}
.wpt{display:flex;flex-direction:column;gap:.35rem;padding:1.4rem 0;border-bottom:1px solid var(--border);}
.wpt:first-child{border-top:1px solid var(--border);}
.wpt-dot{font-family:var(--fm);font-size:.82rem;letter-spacing:.1em;color:var(--purplel);margin-bottom:.15rem;}
.wpt-t{font-family:var(--fd);font-size:1.05rem;font-weight:700;color:var(--text);letter-spacing:-.02em;}
.wpt-d{font-size:.85rem;color:var(--muted);line-height:1.65;max-width:44ch;}

/* CONTACT QUICK */
#contact-quick{padding:88px 0 130px;margin-top:0;background:var(--section-b);border-top:1px solid var(--section-divider);position:relative;}
#contact-quick::after{content:'';position:absolute;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(245,158,11,.1) 0%,transparent 70%);top:-100px;left:-80px;pointer-events:none;z-index:0;}
#contact-quick .si{position:relative;z-index:1;}
.contact-break{display:flex;flex-direction:column;gap:.9rem;max-width:760px;}
.contact-quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;}
.contact-quick-card{display:flex;flex-direction:column;gap:.55rem;padding:1.6rem 1.5rem;background:var(--quick-card-bg);border:1px solid var(--border);border-radius:22px;text-decoration:none;color:inherit;transition:border-color .25s,transform .25s,box-shadow .25s;}
.contact-quick-card:hover{border-color:var(--borderl);transform:translateY(-3px);box-shadow:0 20px 50px var(--quick-card-shadow);}
.contact-quick-label{font-family:var(--fm);font-size:.65rem;letter-spacing:.13em;text-transform:uppercase;color:var(--purplel);}
.contact-quick-value{font-family:var(--fd);font-size:1.4rem;line-height:1.02;letter-spacing:-.03em;color:var(--text);}
.contact-quick-copy{font-size:.92rem;line-height:1.7;color:var(--muted);}

/* CONTACT */
#contact{padding:96px 0 130px;background:var(--section-a);border-top:1px solid var(--section-divider);position:relative;}
#contact::after{content:'';position:absolute;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(251,146,60,.1) 0%,transparent 70%);bottom:-120px;right:-100px;pointer-events:none;z-index:0;}
#contact .si{position:relative;z-index:1;}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start;max-width:960px;margin:0 auto;}
.ct-grid > div:first-child{display:flex;flex-direction:column;align-items:flex-start;text-align:left;}
.ct-info{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.2rem;}
.ct-grid > div:first-child .ct-info{width:100%;max-width:520px;margin-left:0;margin-right:0;}
.ct-grid > div:first-child .s-sub{margin-left:0;margin-right:0;}
.cti{display:flex;align-items:center;gap:1rem;background:var(--surf);border:1px solid var(--border);border-radius:14px;padding:1.2rem 1.4rem;transition:border-color .2s;}
.cti:hover{border-color:var(--borderl);}
.cti-ico{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.cti:nth-child(1) .cti-ico{background:rgba(124,92,252,.15);}
.cti:nth-child(2) .cti-ico{background:rgba(245,158,11,.15);}
.cti-lbl{font-family:var(--fm);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem;}
.cti-v{font-size:.93rem;color:var(--text);font-weight:500;}
.fg{margin-bottom:1.2rem;}
.fl{display:block;font-family:var(--fm);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;}
.fi,.fta{width:100%;background:var(--surf);border:1px solid var(--border);border-radius:12px;color:var(--text);font-family:var(--fb);font-size:.95rem;padding:.85rem 1.1rem;outline:none;transition:border-color .2s,box-shadow .2s;resize:none;}
.fi:focus,.fta:focus{border-color:rgba(124,92,252,.5);box-shadow:0 0 0 3px rgba(124,92,252,.08);}
.fi.input-error,.fta.input-error{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.12);}
.fta{height:130px;}
.fi::placeholder,.fta::placeholder{color:var(--muted);opacity:.5;}
.fsub{width:100%;font-family:var(--fb);font-size:.95rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--purple),var(--amber));border:none;cursor:pointer;padding:1rem;border-radius:50px;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 10px 26px var(--btn-shadow);}
.fsub:hover{opacity:.94;transform:translateY(-1px);box-shadow:0 16px 34px var(--btn-shadow-hover);}

/* FOOTER */
footer{position:relative;z-index:1;border-top:1px solid var(--section-divider);padding:3rem 5vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;background:var(--section-b);}
.fl-logo{color:var(--text);display:flex;align-items:center;}
.fl-logo .logo-mark img{height:42px;}
.fl-copy{font-family:var(--fm);font-size:.64rem;color:var(--muted);letter-spacing:.06em;}
.fl-links{display:flex;gap:2rem;list-style:none;}
.fl-links a{font-family:var(--fb);font-size:.82rem;color:var(--muted);text-decoration:none;transition:color .2s;}
.fl-links a:hover{color:var(--purplel);}

/* ANIMATIONS */
@keyframes fup{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease;}
.rv.vis{opacity:1;transform:translateY(0);}
.d1{transition-delay:.1s;}.d2{transition-delay:.2s;}.d3{transition-delay:.3s;}.d4{transition-delay:.4s;}

/* RESPONSIVE */
@media(max-width:900px){
  nav{display:flex;align-items:center;justify-content:space-between;padding:0 1rem;gap:.6rem;background:var(--nav-bg);backdrop-filter:blur(22px);}
  .logo{flex:0 1 auto;min-width:0;}
  .logo-mark img{height:44px;}
  .nav-ul{display:none;}
  .nav-actions{margin-left:auto;gap:.45rem;flex:0 0 auto;}
  /* ensure nav actions and burger are visible and don't push each other off-screen */
  .nav-actions{order:2;z-index:102;}
  .burger{order:3;z-index:103;}
  .theme-toggle{width:40px;height:40px;flex:0 0 auto;background:var(--surf);}
  .theme-toggle-icons{gap:0;}
  .theme-icon{width:15px;height:15px;}
  .nav-actions .nav-btn{display:none;}
  .burger{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--borderl);border-radius:999px;position:relative;z-index:101;background:var(--surf);}
  .burger{flex:0 0 auto;}
  body.nav-open{overflow:hidden;}
  body.nav-open::after{content:'';position:fixed;inset:68px 0 0;z-index:98;background:var(--bg);}
  body.nav-open .burger span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  body.nav-open .burger span:nth-child(2){opacity:0;}
  body.nav-open .burger span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
  .nav-ul.open{display:flex !important;flex-direction:column;justify-content:flex-start;position:fixed;inset:68px 0 0;background:var(--bg);padding:2rem 1.1rem 2.5rem;gap:.5rem;z-index:99;border-top:1px solid var(--section-divider);box-shadow:0 26px 60px var(--quick-card-shadow);}
  .nav-ul.open li{width:100%;}
  .nav-ul.open a{display:block;width:100%;font-size:1rem;color:var(--text);padding:.95rem 0;border-bottom:1px solid var(--border);}
  .why-grid,.ct-grid{grid-template-columns:1fr;gap:2rem;}
  .contact-quick-grid{grid-template-columns:1fr;}
  .why-cards{grid-template-columns:1fr 1fr;}
  .prow{grid-template-columns:60px 1fr;}
  .prow-desc{grid-column:2;}
  .why-left{position:static;order:-1;}
  .why-grid{gap:3rem;}
}
@media(max-width:500px){
  nav{padding:0 .85rem;gap:.45rem;}
  #hero{min-height:auto;padding:112px 0 68px;}
  #hero .si{padding:0 1.1rem;}
  .h-chip{margin-bottom:1rem;padding:.3rem .72rem;font-size:.58rem;letter-spacing:.12em;max-width:100%;}
  .logo-mark img{height:38px;}
  .theme-toggle{width:38px;height:38px;}
  .burger{width:38px;height:38px;}
  .burger span{width:18px;}
  .h-title{font-size:clamp(1.82rem,10.8vw,2.75rem);max-width:100%;line-height:1.01;letter-spacing:-.055em;overflow-wrap:anywhere;}
  .h-title .outline{-webkit-text-stroke:1px var(--hero-outline);}
  .h-sub{margin-top:1.4rem;font-size:.98rem;line-height:1.62;max-width:18.5rem;}
  .h-btns{margin-top:2rem;}
  .btn-main{width:100%;justify-content:center;padding:.9rem 1.4rem;}
  .marquee-wrap{padding:1.5rem 0;}
  .marquee-item{padding:0 1.4rem;gap:1.4rem;font-size:.84rem;}
  .s-ttl{font-size:clamp(1.8rem,10vw,2.5rem);line-height:1.08;text-wrap:balance;}
  #visions,#process,#why,#contact-quick,#contact,#work{padding-top:88px;padding-bottom:96px;}
  .visions-mobile-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0 auto 1.2rem;}
  .visions-arrow{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:1px solid var(--border);background:var(--surf);color:var(--text);cursor:pointer;box-shadow:0 12px 24px var(--quick-card-shadow);}
  .visions-arrow[disabled]{opacity:.42;cursor:default;box-shadow:none;}
  .visions-mobile-status{font-family:var(--fm);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
  .visions-scroll-wrap{width:100%;margin-left:0;margin-top:0;}
  .visions-track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;}
  .visions-track::-webkit-scrollbar{display:none;}
  .vc{min-width:100%;width:100%;min-height:360px;scroll-snap-align:start;}
  .vc-title{opacity:0;}
  .vc-hover{opacity:1;transform:none;pointer-events:auto;padding:2rem 1.6rem;}
  .vc-hover-label{font-size:clamp(1.35rem,7vw,1.9rem);line-height:1.08;}
  .vc-hover p{max-width:28ch;font-size:.97rem;}
  .why-cards{grid-template-columns:1fr;}
  .prow{grid-template-columns:1fr;}
  .prow-num{display:none;}
  .why-left{margin-bottom:.5rem;}
  .proc-hd{margin-bottom:3rem;}
  .prow-title{line-height:1.12;}
  .contact-quick-value{line-height:1.08;}
  .ct-grid{gap:2.4rem;}
  footer{padding:2.4rem 5vw;justify-content:flex-start;}
  .fl-links{flex-wrap:wrap;gap:1rem 1.4rem;}
}
