:root {
  --bg:        #ffffff;          /* ana açık zemin */
  --bg-soft:   #f4f6f7;          /* yumuşak nötr gri bölüm zemini */
  --surface:   #ffffff;          /* kart yüzeyi */
  --line:      #e7e9ea;          /* ince sınır */
  --line-2:    #d4d8d9;
  --text:      #0f1417;          /* logo siyahı tonunda metin */
  --muted:     #525354;          /* logo nötr koyu gri */
  --ink:       #090A0B;          /* logo saf siyahı */
  --ink-2:     #2E3131;          /* logo koyu antrasit */
  --primary:   #16B4C5;          /* turkuaz — logo dalga rengi */
  --primary-d: #0E97A6;          /* koyu turkuaz (kontrast için) */
  --primary-soft:#e2f7f9;        /* açık turkuaz zemin */
  --accent:    #16B4C5;          /* vurgu da turkuaz (tek vurgu) */
  --max:       1180px;
  --radius:    16px;
  --shadow:    0 1px 2px rgba(9,10,11,.04), 0 8px 24px -12px rgba(9,10,11,.12);
  --shadow-lg: 0 18px 48px -18px rgba(22,180,197,.3);
  --ease:      cubic-bezier(.22,.61,.36,1);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  background:var(--bg);
  color:var(--text);
  font-family:'Inter', system-ui, sans-serif;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,.display { font-family:'Plus Jakarta Sans', sans-serif; line-height:1.12; letter-spacing:-.02em; color:var(--text); }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
::selection { background:var(--primary); color:#fff; }

/* Erişilebilirlik: klavye odak görünürlüğü */
:focus-visible { outline:2px solid var(--primary); outline-offset:3px; border-radius:4px; }
:focus:not(:focus-visible) { outline:none; }

/* Erişilebilirlik: içeriğe atla bağlantısı */
.skip-link {
  position:fixed; top:-60px; left:16px; z-index:200;
  background:var(--primary); color:#fff; font-weight:600; font-size:.9rem;
  padding:11px 18px; border-radius:10px; box-shadow:var(--shadow-lg);
  transition:top .25s var(--ease);
}
.skip-link:focus { top:16px; }

.wrap { width:100%; max-width:var(--max); margin:0 auto; padding:0 24px; }
section { padding:120px 0; position:relative; }
section.alt { background:var(--bg-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }

.eyebrow {
  display:inline-flex; align-items:center; gap:9px;
  font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  color:var(--primary); margin-bottom:18px;
}
.eyebrow::before { content:""; width:26px; height:2px; border-radius:2px; background:var(--primary); }
.section-title { font-size:clamp(2rem, 4.2vw, 3rem); font-weight:800; max-width:20ch; }
.section-lead { color:var(--muted); font-size:1.06rem; max-width:56ch; margin-top:18px; }

/* Buttons */
.btn {
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; gap:10px;
  padding:15px 28px; border-radius:100px; font-weight:600; font-size:.95rem;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), background .3s, color .3s, border-color .3s;
  cursor:pointer; border:1px solid transparent; white-space:nowrap;
}
.btn > * { position:relative; z-index:1; }
.btn::after { content:""; position:absolute; top:0; left:-130%; width:60%; height:100%; z-index:0; transform:skewX(-20deg); background:linear-gradient(90deg, transparent, rgba(255,255,255,.4), transparent); transition:none; }
.btn:hover::after { animation:shine .8s var(--ease); }
@keyframes shine { 0%{left:-130%;} 100%{left:130%;} }
.btn-primary { background:var(--primary); color:#fff; box-shadow:var(--shadow-lg); }
.btn-primary:hover { transform:translateY(-3px); background:var(--primary-d); box-shadow:0 22px 52px -16px rgba(22,180,197,.42); }
.btn-ghost { border-color:var(--line-2); color:var(--text); background:#fff; }
.btn-ghost:hover { transform:translateY(-3px); border-color:var(--primary); color:var(--primary); box-shadow:var(--shadow); }

/* ===== NAV ===== */
header.nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  transition:background .4s, box-shadow .4s, border-color .4s;
  border-bottom:1px solid transparent;
}
header.nav.scrolled {
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  border-bottom-color:rgba(255,255,255,.4);
  box-shadow:0 8px 32px -18px rgba(9,10,11,.45), inset 0 1px 0 rgba(255,255,255,.6);
}
.nav-inner { display:flex; align-items:center; justify-content:space-between; height:78px; transition:height .4s var(--ease); }
header.nav.scrolled .nav-inner { height:68px; }
.logo { display:flex; align-items:center; gap:10px; }
.logo img { height:46px; width:auto; display:block; transition:height .4s var(--ease), opacity .25s; }
header.nav.scrolled .logo img { height:40px; }
.logo:hover img { opacity:.82; }
.logo-foot img { height:54px; }

.nav-links { display:flex; align-items:center; gap:8px; }
.nav-links a:not(.nav-cta) {
  position:relative; font-size:.9rem; color:var(--muted); font-weight:600;
  padding:9px 15px; border-radius:100px; transition:color .25s, background .25s;
}
.nav-links a:not(.nav-cta)::after {
  content:""; position:absolute; left:50%; bottom:5px; width:5px; height:5px; border-radius:50%;
  background:var(--primary); transform:translateX(-50%) scale(0); transition:transform .3s var(--ease);
}
.nav-links a:not(.nav-cta):hover { color:var(--text); background:rgba(9,10,11,.04); }
.nav-links a:not(.nav-cta):hover::after { transform:translateX(-50%) scale(1); }

.nav-links a.nav-cta {
  position:relative; overflow:hidden; margin-left:14px;
  display:inline-flex; align-items:center; gap:7px;
  padding:12px 22px; font-size:.88rem; font-weight:600; color:#fff;
  background:linear-gradient(120deg, var(--primary), var(--primary-d));
  box-shadow:0 10px 26px -10px rgba(22,180,197,.6), inset 0 1px 0 rgba(255,255,255,.25);
}
.nav-links a.nav-cta svg { width:15px; height:15px; transition:transform .3s var(--ease); }
.nav-links a.nav-cta:hover { color:#fff; transform:translateY(-2px); box-shadow:0 16px 34px -12px rgba(22,180,197,.7); }
.nav-links a.nav-cta:hover svg { transform:translateX(3px); }
.nav-links a.nav-cta::after {
  content:""; position:absolute; top:0; left:-130%; width:55%; height:100%;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent);
  transform:skewX(-20deg);
}
.nav-links a.nav-cta:hover::after { animation:shine .85s var(--ease); }

.menu-btn { display:none; background:none; border:none; color:var(--text); cursor:pointer; flex-direction:column; gap:5px; padding:8px; }
.menu-btn span { width:24px; height:2px; background:var(--text); border-radius:2px; transition:.3s; }

/* ===== HERO ===== */
.hero { min-height:100vh; display:flex; align-items:center; padding-top:96px; overflow:hidden; background:linear-gradient(180deg,#f2fbfc 0%, #ffffff 70%); }
.hero-bg { position:absolute; inset:0; z-index:0; overflow:hidden; }
.orb { position:absolute; border-radius:50%; filter:blur(70px); will-change:transform; }
.orb.a { width:520px; height:520px; background:radial-gradient(circle, rgba(22,180,197,.22), transparent 70%); top:-14%; right:-4%; animation:float1 18s ease-in-out infinite; }
.orb.b { width:440px; height:440px; background:radial-gradient(circle, rgba(46,49,49,.10), transparent 70%); bottom:-16%; left:-6%; animation:float2 22s ease-in-out infinite; }
.grid-lines { position:absolute; inset:0; background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size:54px 54px; opacity:.5; mask-image:radial-gradient(ellipse 80% 60% at 50% 40%, #000 30%, transparent 75%); -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 40%, #000 30%, transparent 75%); }
@keyframes float1 { 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(-40px,30px) scale(1.08);} }
@keyframes float2 { 0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(50px,-30px) scale(1.1);} }

.hero-inner { position:relative; z-index:2; max-width:840px; }
.hero-loc {
  display:inline-flex; align-items:center; gap:9px;
  font-size:.85rem; font-weight:600; color:var(--primary); padding:8px 16px;
  border:1px solid var(--line-2); border-radius:100px; background:#fff;
  margin-bottom:30px; box-shadow:var(--shadow);
}
.hero-loc .pulse { width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 0 rgba(22,180,197,.5); animation:pulse 2.2s infinite; }
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(22,180,197,.5);} 70%{box-shadow:0 0 0 9px rgba(22,180,197,0);} 100%{box-shadow:0 0 0 0 rgba(22,180,197,0);} }
.hero h1 { font-size:clamp(2.6rem, 6.5vw, 5rem); font-weight:800; }
.hero h1 .grad { background:linear-gradient(120deg, var(--primary), var(--ink-2)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-sub { color:var(--muted); font-size:clamp(1.05rem,1.7vw,1.28rem); max-width:54ch; margin:26px 0 32px; }
.hero-sub strong { color:var(--text); font-weight:600; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; }
.hero-micro { margin-top:14px; font-size:.84rem; color:var(--muted); }
.hero-trust { list-style:none; display:flex; flex-wrap:wrap; gap:14px 28px; margin-top:40px; }
.hero-trust li { display:flex; align-items:center; gap:9px; font-size:.92rem; font-weight:500; color:var(--muted); }
.hero-trust svg { width:18px; height:18px; color:var(--primary); flex:none; }

/* ===== STATS ===== */
.stats { padding:64px 0; background:linear-gradient(120deg, var(--ink) 0%, var(--ink-2) 55%, var(--primary-d) 130%); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.stat { text-align:center; color:#fff; }
.stat .lbl { margin-top:12px; color:rgba(255,255,255,.78); font-size:.92rem; }
.promises .stat-ico { width:52px; height:52px; margin:0 auto 16px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:rgba(22,180,197,.16); border:1px solid rgba(22,180,197,.4); color:var(--primary); }
.promises .stat-ico svg { width:25px; height:25px; }
.promises .stat-t { font-family:'Plus Jakarta Sans'; font-weight:800; font-size:clamp(1.3rem,2.4vw,1.7rem); color:#fff; line-height:1.1; }
.promises .lbl { margin-top:8px; }

/* ===== SERVICES ===== */
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:60px; }
.card {
  position:relative; padding:34px 30px; border-radius:var(--radius);
  background:var(--surface); border:1px solid var(--line); overflow:hidden;
  transition:transform .4s var(--ease), border-color .4s, box-shadow .4s;
  box-shadow:var(--shadow);
}
.card::after { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--primary); transform:scaleY(0); transform-origin:top; transition:transform .4s var(--ease); z-index:2; }
.card::before { content:""; position:absolute; inset:0; opacity:0; transition:opacity .4s; background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%), rgba(22,180,197,.1), transparent 60%); z-index:0; }
.card:hover { transform:translateY(-6px); border-color:#b7e9ee; box-shadow:0 24px 50px -22px rgba(9,10,11,.22); }
.card:hover::after { transform:scaleY(1); }
.card:hover::before { opacity:1; }
.card > * { position:relative; z-index:1; }
.card .ico { width:54px; height:54px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:var(--primary-soft); margin-bottom:22px; color:var(--primary); transition:transform .4s var(--ease), background .4s, color .4s; }
.card:hover .ico { background:var(--primary); color:#fff; transform:translateY(-4px) rotate(-6deg); }
.card .ico svg { width:26px; height:26px; }
.card h3 { font-size:1.28rem; font-weight:700; margin-bottom:12px; }
.card p { color:var(--muted); font-size:.97rem; }

/* ===== PROCESS ===== */
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-top:60px; }
.step { position:relative; padding:28px 24px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.step .n { font-family:'Plus Jakarta Sans'; font-size:1.4rem; font-weight:800; color:var(--primary); display:inline-flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:12px; background:var(--primary-soft); margin-bottom:16px; }
.step h3 { font-size:1.18rem; font-weight:700; margin:0 0 8px; }
.step p { color:var(--muted); font-size:.94rem; }
.step::after { content:""; position:absolute; top:52px; right:-14px; width:14px; height:2px; background:var(--line-2); z-index:1; }
.step:last-child::after { display:none; }

/* ===== PORTFOLIO ===== */
.work-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:60px; }
.work {
  position:relative; aspect-ratio:9/16; border-radius:16px; overflow:hidden;
  border:1px solid var(--line); cursor:pointer; background:var(--bg-soft); box-shadow:var(--shadow);
  transition:transform .4s var(--ease), box-shadow .4s;
}
.work:hover { transform:translateY(-5px); box-shadow:0 26px 50px -22px rgba(16,30,54,.3); }
.work .ph { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease), filter .4s; filter:saturate(.95); }
.work::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg, rgba(15,27,45,.05) 0%, rgba(15,27,45,.5) 100%); transition:opacity .4s; }
.work:hover .ph { transform:scale(1.08); filter:saturate(1.08); }
.work .play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(1); width:56px; height:56px; border-radius:50%; background:rgba(255,255,255,.25); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.6); display:flex; align-items:center; justify-content:center; z-index:2; transition:.4s var(--ease); }
.work:hover .play { background:#fff; transform:translate(-50%,-50%) scale(1.12); box-shadow:0 8px 24px -6px rgba(0,0,0,.4); }
.work .play svg { width:18px; height:18px; fill:#fff; margin-left:3px; transition:.4s; }
.work:hover .play svg { fill:var(--primary); }
.work .meta { position:absolute; inset:auto 0 0 0; z-index:2; padding:18px; background:linear-gradient(transparent, rgba(15,27,45,.88)); transform:translateY(8px); opacity:0; transition:.4s; }
.work:hover .meta { transform:translateY(0); opacity:1; }
.work .meta .t { font-family:'Plus Jakarta Sans'; font-weight:700; font-size:.98rem; color:#fff; }
.work .meta .c { color:rgba(255,255,255,.8); font-size:.8rem; }
.work .tag { position:absolute; top:14px; left:14px; font-size:.7rem; font-weight:600; padding:5px 11px; border-radius:100px; background:rgba(255,255,255,.92); color:var(--text); backdrop-filter:blur(4px); z-index:2; }

/* ===== ABOUT / LOCAL ===== */
.about-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center; }
.about-lead { font-size:clamp(1.4rem,2.5vw,1.95rem); font-weight:700; font-family:'Plus Jakarta Sans'; line-height:1.3; letter-spacing:-.01em; }
.about-lead .hl { color:var(--primary); }
.about p { color:var(--muted); margin-top:22px; font-size:1.03rem; }
.about-points { list-style:none; margin-top:30px; display:grid; gap:16px; }
.about-points li { display:flex; gap:14px; align-items:flex-start; color:var(--text); font-size:.99rem; font-weight:500; }
.about-points .chk { flex:none; width:26px; height:26px; border-radius:50%; background:var(--primary-soft); display:flex; align-items:center; justify-content:center; color:var(--primary); }
.about-points .chk svg { width:14px; height:14px; }
.map-card { position:relative; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); background:linear-gradient(160deg,#fff,#e9f8fa); aspect-ratio:4/5; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow); }
.map-card .pin { text-align:center; }
.map-card .pin .ring { width:150px; height:150px; border-radius:50%; border:1px solid rgba(22,180,197,.3); display:flex; align-items:center; justify-content:center; margin:0 auto 24px; position:relative; }
.map-card .pin .ring::before, .map-card .pin .ring::after { content:""; position:absolute; inset:0; border-radius:50%; border:1px solid rgba(22,180,197,.26); animation:ripple 3s ease-out infinite; }
.map-card .pin .ring::after { animation-delay:1.5s; }
@keyframes ripple { 0%{transform:scale(.7); opacity:1;} 100%{transform:scale(1.6); opacity:0;} }
.map-card .pin .core { width:62px; height:62px; border-radius:50%; background:var(--primary); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -8px rgba(22,180,197,.5); }
.map-card .pin .core svg { width:28px; height:28px; fill:#fff; }
.map-card .pin .city { font-family:'Plus Jakarta Sans'; font-weight:800; font-size:1.5rem; }
.map-card .pin .sub { color:var(--muted); font-size:.9rem; margin-top:4px; }

/* ===== EARLY OFFER ===== */
.early-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:60px; }
.early-card {
  padding:34px 30px; border-radius:var(--radius); background:var(--surface); border:1px solid var(--line);
  transition:transform .4s var(--ease), box-shadow .4s; box-shadow:var(--shadow);
}
.early-card:hover { transform:translateY(-6px); box-shadow:0 24px 50px -22px rgba(9,10,11,.2); }
.early-ico { width:50px; height:50px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:var(--primary-soft); color:var(--primary); margin-bottom:20px; }
.early-ico svg { width:24px; height:24px; }
.early-card h3 { font-size:1.16rem; font-weight:700; margin-bottom:9px; }
.early-card p { color:var(--muted); font-size:.96rem; }
.early-cta { margin-top:44px; text-align:center; }

/* ===== CONTACT ===== */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; margin-top:0; }
.contact-left h2 { font-size:clamp(2.2rem,4.2vw,3.2rem); font-weight:800; }
.contact-left .big-cta { font-family:'Plus Jakarta Sans'; }
.contact-info { margin-top:38px; display:grid; gap:18px; }
.ci-item { display:flex; gap:16px; align-items:center; color:inherit; transition:.3s; }
a.ci-item:hover { transform:translateX(3px); }
.ci-item .ico { width:46px; height:46px; border-radius:12px; flex:none; background:var(--primary-soft); display:flex; align-items:center; justify-content:center; color:var(--primary); }
.ci-item .ico svg { width:20px; height:20px; }
.ci-item .k { font-size:.8rem; color:var(--muted); }
.ci-item .v { font-weight:700; }
.socials { display:flex; gap:12px; margin-top:34px; }
.socials a { width:46px; height:46px; border-radius:12px; border:1px solid var(--line); background:#fff; display:flex; align-items:center; justify-content:center; color:var(--muted); transition:.3s; }
.socials a:hover { color:#fff; border-color:var(--primary); background:var(--primary); transform:translateY(-3px); }
.socials a svg { width:20px; height:20px; fill:currentColor; }

form { background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:34px; box-shadow:var(--shadow); }
.field { margin-bottom:20px; }
.field label { display:block; font-size:.86rem; font-weight:600; color:var(--text); margin-bottom:9px; }
.field input, .field textarea {
  width:100%; padding:14px 16px; border-radius:12px; background:#fff;
  border:1px solid var(--line-2); color:var(--text); font-family:inherit; font-size:.96rem; transition:border-color .3s, box-shadow .3s;
}
.field input::placeholder, .field textarea::placeholder { color:#9aa4b2; }
.field textarea { resize:vertical; min-height:130px; }
.field input:focus, .field textarea:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-soft); }
form .btn-primary { width:100%; justify-content:center; margin-top:6px; }
.form-trust { display:flex; align-items:center; gap:8px; margin-top:14px; font-size:.82rem; color:var(--muted); line-height:1.4; }
.form-trust svg { width:16px; height:16px; color:var(--primary); flex:none; }
.form-note { color:var(--primary); font-weight:500; font-size:.9rem; margin-top:12px; text-align:center; min-height:1.2em; }

/* ===== LOGOS / TRUST BAR ===== */
.logos { padding:42px 0; border-bottom:1px solid var(--line); background:#fff; }
.logos-title { text-align:center; color:var(--muted); font-size:.85rem; font-weight:600; letter-spacing:.04em; margin-bottom:18px; }
.logos-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:14px 22px; }
.logos-row span { font-family:'Plus Jakarta Sans'; font-weight:700; font-size:1.05rem; color:#b3bccb; transition:color .3s; }
.logos-row span:not(.sep):hover { color:var(--text); }
.logos-row .sep { color:var(--line-2); font-weight:400; }

/* ===== VALUES ===== */
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-top:60px; }
.value { padding:32px 26px; border-radius:var(--radius); background:var(--surface); border:1px solid var(--line); box-shadow:var(--shadow); transition:transform .4s var(--ease), box-shadow .4s; }
.value:hover { transform:translateY(-6px); box-shadow:0 24px 50px -22px rgba(16,30,54,.2); }
.value .vico { width:50px; height:50px; border-radius:13px; display:flex; align-items:center; justify-content:center; background:var(--primary-soft); color:var(--primary); margin-bottom:20px; }
.value .vico svg { width:24px; height:24px; }
.value h3 { font-size:1.12rem; font-weight:700; margin-bottom:9px; }
.value p { color:var(--muted); font-size:.94rem; }

/* ===== FAQ ===== */
.faq-wrap { display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:start; }
.faq-list { display:grid; gap:14px; }
.faq-item { background:var(--surface); border:1px solid var(--line); border-radius:14px; overflow:hidden; box-shadow:var(--shadow); transition:border-color .3s; }
.faq-item[open] { border-color:#b7e9ee; }
.faq-item summary { list-style:none; cursor:pointer; padding:20px 22px; font-family:'Plus Jakarta Sans'; font-weight:700; font-size:1.02rem; color:var(--text); display:flex; align-items:center; justify-content:space-between; gap:16px; transition:color .25s; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary:hover { color:var(--primary); }
.faq-ico { position:relative; flex:none; width:20px; height:20px; }
.faq-ico::before, .faq-ico::after { content:""; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); background:var(--primary); border-radius:2px; transition:transform .3s var(--ease); }
.faq-ico::before { width:13px; height:2px; }
.faq-ico::after { width:2px; height:13px; }
.faq-item[open] .faq-ico::after { transform:translate(-50%,-50%) scaleY(0); }
.faq-a { padding:0 22px 20px; color:var(--muted); font-size:.97rem; line-height:1.65; }

/* ===== CTA BANNER ===== */
.cta-banner { padding:0; }
.cta-box { display:flex; align-items:center; justify-content:space-between; gap:30px; flex-wrap:wrap; background:linear-gradient(120deg, var(--ink) 0%, var(--ink-2) 50%, var(--primary-d) 125%); border-radius:24px; padding:48px 52px; box-shadow:0 30px 60px -28px rgba(9,10,11,.45); position:relative; overflow:hidden; }
.cta-box::before { content:""; position:absolute; width:320px; height:320px; border-radius:50%; background:rgba(255,255,255,.08); top:-160px; right:-60px; }
.cta-box > * { position:relative; z-index:1; }
.cta-badge { display:inline-flex; align-items:center; gap:7px; font-size:.78rem; font-weight:700; letter-spacing:.02em; color:#fff; background:rgba(22,180,197,.22); border:1px solid rgba(22,180,197,.5); padding:6px 14px; border-radius:100px; margin-bottom:16px; }
.cta-badge::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--primary); box-shadow:0 0 0 0 rgba(22,180,197,.6); animation:pulse 2.2s infinite; }
.cta-box h2 { color:#fff; font-size:clamp(1.5rem,3vw,2.1rem); font-weight:800; max-width:24ch; }
.cta-box p { color:rgba(255,255,255,.82); margin-top:10px; max-width:48ch; }
.btn-light { background:#fff; color:var(--primary); }
.btn-light:hover { transform:translateY(-3px); background:#e9f8fa; box-shadow:0 16px 36px -12px rgba(0,0,0,.3); }

/* ===== FORM SELECT ===== */
.field select {
  width:100%; padding:14px 16px; border-radius:12px; background:#fff;
  border:1px solid var(--line-2); color:var(--text); font-family:inherit; font-size:.96rem; transition:border-color .3s, box-shadow .3s;
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%235a6573' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:42px; cursor:pointer;
}
.field select:focus { outline:none; border-color:var(--primary); box-shadow:0 0 0 3px var(--primary-soft); }

/* ===== FOOTER ===== */
footer { border-top:1px solid var(--line); background:#fff; }
.foot-top { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.2fr; gap:40px; padding:64px 24px 44px; }
.foot-brand .logo { margin-bottom:16px; }
.foot-brand p { color:var(--muted); font-size:.92rem; max-width:34ch; margin-bottom:20px; }
.foot-brand .socials { margin-top:0; }
.foot-col h4 { font-family:'Plus Jakarta Sans'; font-size:.92rem; font-weight:700; margin-bottom:16px; }
.foot-col a, .foot-static { display:block; color:var(--muted); font-size:.9rem; font-weight:500; margin-bottom:11px; transition:color .25s; }
.foot-col a:hover { color:var(--primary); }
.foot-static { color:var(--muted); }
.foot-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:22px 24px; border-top:1px solid var(--line); }
.foot-bottom .c { color:var(--muted); font-size:.85rem; }
.foot-legal { display:flex; gap:22px; }
.foot-legal a { color:var(--muted); font-size:.85rem; transition:color .25s; }
.foot-legal a:hover { color:var(--primary); }

/* ===== WHATSAPP FLOAT ===== */
.wa-float {
  position:fixed; right:26px; bottom:84px; z-index:91;
  width:56px; height:56px; border-radius:50%;
  background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 30px -8px rgba(37,211,102,.6); transition:transform .3s var(--ease), box-shadow .3s;
  animation:waPop .5s var(--ease) .8s both;
}
.wa-float svg { width:30px; height:30px; }
.wa-float::before { content:""; position:absolute; inset:0; border-radius:50%; border:2px solid #25D366; opacity:.6; animation:waRing 2.4s ease-out infinite; }
.wa-float:hover { transform:scale(1.08); box-shadow:0 16px 38px -10px rgba(37,211,102,.75); }
.wa-tip {
  position:absolute; right:70px; white-space:nowrap; background:var(--ink); color:#fff;
  font-size:.82rem; font-weight:600; padding:8px 14px; border-radius:10px;
  opacity:0; transform:translateX(8px); pointer-events:none; transition:opacity .3s, transform .3s;
  box-shadow:var(--shadow);
}
.wa-tip::after { content:""; position:absolute; right:-5px; top:50%; transform:translateY(-50%) rotate(45deg); width:10px; height:10px; background:var(--ink); }
.wa-float:hover .wa-tip { opacity:1; transform:none; }
@keyframes waPop { from { opacity:0; transform:scale(.6); } to { opacity:1; transform:scale(1); } }
@keyframes waRing { 0% { transform:scale(1); opacity:.6; } 100% { transform:scale(1.5); opacity:0; } }

/* ===== TO TOP ===== */
.to-top { position:fixed; right:26px; bottom:26px; z-index:90; width:46px; height:46px; border-radius:12px; background:var(--primary); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-lg); opacity:0; pointer-events:none; transform:translateY(10px); transition:opacity .35s, transform .35s; }
.to-top.show { opacity:1; pointer-events:auto; transform:none; }
.to-top:hover { background:var(--primary-d); transform:translateY(-3px); }
.to-top svg { width:20px; height:20px; }

/* ===== REVEAL ANIM ===== */
.reveal { opacity:0; transform:translateY(30px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in { opacity:1; transform:none; }
.reveal.d1 { transition-delay:.08s; } .reveal.d2 { transition-delay:.16s; }
.reveal.d3 { transition-delay:.24s; } .reveal.d4 { transition-delay:.32s; }

/* ===== HERO ENTRANCE ===== */
.hero-anim { opacity:0; transform:translateY(26px); animation:heroUp .9s var(--ease) forwards; }
.hero-anim.a1 { animation-delay:.12s; }
.hero-anim.a2 { animation-delay:.24s; }
.hero-anim.a3 { animation-delay:.36s; }
.hero-anim.a4 { animation-delay:.48s; }
@keyframes heroUp { to { opacity:1; transform:none; } }
.hero h1 .grad { background:linear-gradient(120deg, var(--primary), var(--ink-2), var(--primary)); background-size:200% auto; -webkit-background-clip:text; background-clip:text; color:transparent; animation:gradShift 6s linear infinite; }
@keyframes gradShift { to { background-position:200% center; } }

/* ===== STATS DECOR ===== */
.stats { position:relative; overflow:hidden; }
.stats::before, .stats::after { content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.06); }
.stats::before { width:300px; height:300px; top:-140px; right:-60px; }
.stats::after { width:220px; height:220px; bottom:-130px; left:8%; background:rgba(255,255,255,.05); }
.stats .wrap { position:relative; z-index:1; }
.stat { transition:transform .4s var(--ease); }
.stat:hover { transform:translateY(-5px); }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity:1; transform:none; transition:none; }
  .hero-anim { opacity:1; transform:none; animation:none; }
  .hero h1 .grad { animation:none; }
  .orb, .pulse, .ring::before, .ring::after, .btn:hover::after { animation:none !important; }
  .wa-float, .wa-float::before { animation:none !important; }
}

/* ===== RESPONSIVE ===== */
@media (max-width:980px) {
  .services-grid, .early-grid { grid-template-columns:1fr 1fr; }
  .process-grid { grid-template-columns:1fr 1fr; }
  .step::after { display:none; }
  .work-grid { grid-template-columns:1fr 1fr; }
  .about-grid, .contact-grid { grid-template-columns:1fr; gap:40px; }
  .stats-grid { grid-template-columns:1fr 1fr; gap:36px 24px; }
  .values-grid { grid-template-columns:1fr 1fr; }
  .faq-wrap { grid-template-columns:1fr; gap:32px; }
  .foot-top { grid-template-columns:1fr 1fr; gap:32px; }
  .foot-brand { grid-column:1 / -1; }
  .cta-box { padding:38px; }
}
@media (max-width:640px) {
  section { padding:80px 0; }
  .nav-links { display:none; }
  .menu-btn { display:flex; }
  .nav-links.open {
    display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0;
    background:rgba(255,255,255,.97); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); padding:10px 24px 24px; box-shadow:0 24px 40px -24px rgba(9,10,11,.4);
  }
  .nav-links.open a:not(.nav-cta) { padding:15px 4px; border-bottom:1px solid var(--line); width:100%; border-radius:0; }
  .nav-links.open a:not(.nav-cta)::after { display:none; }
  .nav-links.open .nav-cta { margin:18px 0 0; justify-content:center; }
  .services-grid, .early-grid, .work-grid, .values-grid { grid-template-columns:1fr; }
  .foot-top { grid-template-columns:1fr; gap:28px; }
  .hero-actions { width:100%; }
  .hero-actions .btn { flex:1; justify-content:center; }
  .cta-box { flex-direction:column; align-items:flex-start; text-align:left; }
  .to-top { right:16px; bottom:16px; }
  .wa-float { right:16px; bottom:74px; width:52px; height:52px; }
  .wa-float svg { width:28px; height:28px; }
  .wa-tip { display:none; }
}

/* ===== LEGAL PAGES ===== */
.legal-hero { padding:130px 0 50px; background:linear-gradient(180deg,#f2fbfc 0%, #ffffff 100%); border-bottom:1px solid var(--line); }
.legal-hero .back { display:inline-flex; align-items:center; gap:7px; font-size:.88rem; font-weight:600; color:var(--primary); margin-bottom:22px; }
.legal-hero .back svg { width:16px; height:16px; }
.legal-hero h1 { font-size:clamp(2rem,4vw,2.8rem); font-weight:800; }
.legal-hero .updated { color:var(--muted); font-size:.9rem; margin-top:14px; }
.legal-body { padding:60px 0 90px; }
.legal-body .wrap { max-width:840px; }
.legal-body h2 { font-size:1.4rem; font-weight:700; margin:42px 0 14px; }
.legal-body h2:first-child { margin-top:0; }
.legal-body h3 { font-size:1.08rem; font-weight:700; margin:26px 0 10px; }
.legal-body p { color:var(--muted); margin-bottom:14px; line-height:1.75; }
.legal-body ul { color:var(--muted); margin:0 0 16px 22px; line-height:1.75; }
.legal-body li { margin-bottom:8px; }
.legal-body strong { color:var(--text); }
.legal-body a { color:var(--primary); font-weight:500; }
.legal-note { background:var(--bg-soft); border:1px solid var(--line); border-left:3px solid var(--primary); border-radius:12px; padding:20px 24px; margin:24px 0; }
.legal-note p { margin-bottom:0; }
.legal-note strong { color:var(--text); }
