/* ── RESET & ROOT ─────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
:root {
  --navy:#1a2e4a; --blue:#0F6DF3; --teal:#469083;
  --bg:#eef2fb; --gray:#6b7a92; --white:#fff;
  --border:rgba(255,255,255,0.62); --shadow:rgba(26,46,74,0.07);
}
body { font-family:'Ubuntu',sans-serif; background:var(--bg); color:var(--navy); overflow-x:hidden; }
a { text-decoration:none; color:inherit; }
button { font-family:inherit; cursor:pointer; border:none; background:none; }

/* ── BACKGROUND ───────────────────────────── */
body::before {
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:radial-gradient(circle,rgba(15,109,243,.033) 1px,transparent 1px);
  background-size:44px 44px;
}
.blob { position:fixed; border-radius:50%; filter:blur(130px); pointer-events:none; z-index:0; }
.b1 { width:700px; height:700px; background:#0F6DF3; opacity:.08; top:-200px; right:-150px; animation:fA 38s ease-in-out infinite; }
.b2 { width:560px; height:560px; background:#469083; opacity:.065; bottom:80px; left:-200px; animation:fB 44s ease-in-out infinite; }
.b3 { width:420px; height:420px; background:#1a2e4a; opacity:.05; top:45%; right:22%; animation:fC 32s ease-in-out infinite; }
.b4 { width:320px; height:320px; background:#0F6DF3; opacity:.055; bottom:320px; right:8%; animation:fA 28s ease-in-out infinite reverse; }
@keyframes fA{0%,100%{transform:translate(0,0)}33%{transform:translate(-55px,40px)}66%{transform:translate(38px,-28px)}}
@keyframes fB{0%,100%{transform:translate(0,0)}33%{transform:translate(48px,-46px)}66%{transform:translate(-32px,22px)}}
@keyframes fC{0%,100%{transform:translate(0,0)}50%{transform:translate(65px,38px)}}
#cg { position:fixed; width:280px; height:280px; border-radius:50%; background:radial-gradient(circle,rgba(15,109,243,.065),transparent 70%); pointer-events:none; z-index:1; transform:translate(-50%,-50%); transition:left .1s ease,top .1s ease; }

/* ── GLASS ────────────────────────────────── */
.g { background:rgba(255,255,255,.46); backdrop-filter:blur(28px) saturate(180%); -webkit-backdrop-filter:blur(28px) saturate(180%); border:1px solid var(--border); box-shadow:0 8px 32px var(--shadow),inset 0 1px 0 rgba(255,255,255,.85); }
.gd { background:rgba(26,46,74,.54); backdrop-filter:blur(28px) saturate(160%); -webkit-backdrop-filter:blur(28px) saturate(160%); border:1px solid rgba(255,255,255,.1); box-shadow:0 8px 32px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.08); }

/* ── REVEAL ───────────────────────────────── */
.rv { opacity:0; transform:translateY(28px); transition:opacity .72s cubic-bezier(.16,1,.3,1),transform .72s cubic-bezier(.16,1,.3,1); }
.rv.in { opacity:1; transform:translateY(0); }
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}.d4{transition-delay:.28s}.d5{transition-delay:.35s}

/* ── LAYOUT ───────────────────────────────── */
.wrap { max-width:1100px; margin:0 auto; padding:0 52px; position:relative; z-index:2; }
.sec { padding:96px 0; }
.sec0 { padding:0 0 96px; }
.lbl { font-size:.62rem; font-weight:700; letter-spacing:3.5px; text-transform:uppercase; color:var(--blue); display:block; margin-bottom:14px; }
.hl { font-size:clamp(2.1rem,4.2vw,3.6rem); font-weight:700; line-height:1.06; letter-spacing:-1.5px; }
.hl b { color:var(--blue); font-weight:700; }
.sub { font-size:.92rem; line-height:1.8; color:var(--gray); max-width:500px; margin-top:12px; }
hr.div { border:none; height:1px; background:rgba(255,255,255,.62); position:relative; z-index:2; }

/* ── LANG BAR ─────────────────────────────── */
#lang-bar {
  position:fixed; top:0; left:0; right:0; z-index:200; height:36px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(26,46,74,.92); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
#lang-toggle {
  display:flex; align-items:center; position:relative;
  border-radius:100px; padding:3px;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.15);
  font-size:.65rem; font-weight:700; letter-spacing:1.5px;
}
#lang-toggle .lt-pill {
  position:relative; z-index:1; padding:3px 14px; cursor:pointer;
  border-radius:100px; transition:color .25s; color:rgba(255,255,255,.45);
  user-select:none;
}
#lang-toggle .lt-pill.active { color:#fff; }
#lang-toggle .lt-slider {
  position:absolute; top:3px; bottom:3px; width:calc(33.33% - 3px);
  background:var(--blue); border-radius:100px;
  transition:left .28s cubic-bezier(.16,1,.3,1);
  box-shadow:0 2px 10px rgba(15,109,243,.45);
}
#lang-toggle[data-lang="es"] .lt-slider { left:3px; }
#lang-toggle[data-lang="en"] .lt-slider { left:calc(33.33%); }
#lang-toggle[data-lang="it"] .lt-slider { left:calc(66.66%); }

/* ── LANG TOGGLE ──────────────────────────── */
#lang-btn {
  display:flex; align-items:center; gap:0; border-radius:100px; overflow:hidden;
  border:1px solid rgba(255,255,255,.7); background:rgba(255,255,255,.35);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
  font-size:.7rem; font-weight:700; letter-spacing:1px; flex-shrink:0;
}
#lang-btn span { padding:7px 14px; cursor:pointer; transition:all .22s; color:var(--gray); }
#lang-btn span.active { background:var(--navy); color:#fff; border-radius:100px; }
#lang-btn span:hover:not(.active) { color:var(--navy); }

/* ── NAV ──────────────────────────────────── */
nav {
  position:fixed; top:36px; left:0; right:0; z-index:100; height:62px;
  display:flex; align-items:center; justify-content:space-between; padding:0 52px;
  background:rgba(238,242,251,.62); backdrop-filter:blur(32px) saturate(200%);
  -webkit-backdrop-filter:blur(32px) saturate(200%);
  border-bottom:1px solid rgba(255,255,255,.5); transition:box-shadow .35s;
}
nav.up { box-shadow:0 2px 24px rgba(26,46,74,.07); }
.nl { font-size:1.32rem; font-weight:700; letter-spacing:-1px; }
.nl b { color:var(--blue); }
nav ul { list-style:none; display:flex; gap:30px; }
nav ul a { font-size:.76rem; font-weight:500; color:var(--gray); transition:color .2s; }
nav ul a:hover { color:var(--navy); }
.ncta { background:var(--navy); color:#fff; font-size:.76rem; font-weight:700; padding:8px 20px; border-radius:100px; transition:background .2s,transform .15s,box-shadow .2s; }
.ncta:hover { background:var(--blue); transform:translateY(-1px); box-shadow:0 6px 22px rgba(15,109,243,.3); }

/* ── HERO ─────────────────────────────────── */
#hero { min-height:100vh; display:flex; align-items:center; padding:136px 52px 80px; position:relative; z-index:2; max-width:1100px; margin:0 auto; }
.hg { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; width:100%; }
.hbadge { display:inline-flex; align-items:center; gap:9px; padding:6px 18px; border-radius:100px; margin-bottom:22px; font-size:.67rem; font-weight:600; letter-spacing:.8px; color:var(--gray); }
.bdot { width:6px; height:6px; border-radius:50%; background:var(--blue); animation:pulse 2.5s ease-in-out infinite; flex-shrink:0; }
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.6)}}
.hsl { font-size:.67rem; font-weight:700; letter-spacing:4px; text-transform:uppercase; color:var(--blue); margin-bottom:14px; }
.htitle { font-size:clamp(3rem,6.5vw,5.8rem); font-weight:700; line-height:.98; letter-spacing:-3px; margin-bottom:18px; }
.htitle b { color:var(--blue); }
.hsub { font-size:.92rem; line-height:1.8; color:var(--gray); max-width:420px; margin-bottom:28px; }
.hbtns { display:flex; gap:11px; flex-wrap:wrap; }
.bs { background:var(--navy); color:#fff; padding:12px 26px; border-radius:100px; font-size:.8rem; font-weight:700; transition:background .2s,transform .15s,box-shadow .2s; }
.bs:hover { background:var(--blue); transform:translateY(-2px); box-shadow:0 8px 26px rgba(15,109,243,.3); }
.bg2 { padding:12px 26px; border-radius:100px; font-size:.8rem; font-weight:500; color:var(--navy); transition:all .25s; }
.bg2:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(15,109,243,.1); }
.hv { position:relative; display:flex; align-items:center; justify-content:center; height:420px; }
.orb { position:absolute; border-radius:50%; border:1px solid rgba(15,109,243,.13); }
.o1{width:155px;height:155px;animation:sp 16s linear infinite}
.o2{width:255px;height:255px;animation:sp 26s linear infinite reverse}
.o3{width:358px;height:358px;animation:sp 38s linear infinite;border-style:dashed;border-color:rgba(15,109,243,.07)}
@keyframes sp{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.orb::after{content:'';position:absolute;width:8px;height:8px;border-radius:50%;background:var(--blue);top:-4px;left:50%;transform:translateX(-50%);box-shadow:0 0 10px rgba(15,109,243,.6)}
.o2::after{background:var(--teal);box-shadow:0 0 10px rgba(70,144,131,.6)}
.o3::after{background:var(--navy);box-shadow:none}
.oc { width:130px;height:130px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:.58rem;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--blue);z-index:2;box-shadow:0 0 40px rgba(15,109,243,.1); }

/* ── CHAT ─────────────────────────────────── */
#chat-s { padding:0 0 96px; position:relative; z-index:2; }
.chat-w { max-width:720px; margin:0 auto; padding:0 52px; }
.chat-box { border-radius:28px; overflow:hidden; }
.chat-hd { padding:20px 26px 14px; border-bottom:1px solid rgba(255,255,255,.5); display:flex; align-items:center; gap:11px; }
.cavatar { width:34px;height:34px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.chi h3 { font-size:.86rem; font-weight:700; }
.chi p { font-size:.7rem; color:var(--gray); }
.odot { width:7px;height:7px;border-radius:50%;background:#22c55e;margin-left:auto;box-shadow:0 0 8px rgba(34,197,94,.6);animation:pulse 2s ease-in-out infinite; }
.cmsg { padding:18px 26px; min-height:180px; display:flex; flex-direction:column; gap:14px; }
.msg { display:flex; flex-direction:column; max-width:78%; animation:min .33s cubic-bezier(.16,1,.3,1); }
@keyframes min{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.msg.bot { align-self:flex-start; }
.msg.usr { align-self:flex-end; }
.mb { padding:10px 15px; border-radius:18px; font-size:.83rem; line-height:1.65; }
.msg.bot .mb { background:rgba(255,255,255,.72); color:var(--navy); border-radius:4px 18px 18px 18px; }
.msg.usr .mb { background:var(--navy); color:#fff; border-radius:18px 4px 18px 18px; }
.ml { font-size:.63rem; color:var(--gray); margin-bottom:3px; }
.msg.usr .ml { text-align:right; }
.tdots { display:flex; gap:4px; padding:13px 16px; }
.tdots span { width:6px;height:6px;border-radius:50%;background:var(--gray);animation:bo .9s ease-in-out infinite; }
.tdots span:nth-child(2){animation-delay:.15s}.tdots span:nth-child(3){animation-delay:.3s}
@keyframes bo{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}
.cpills { display:flex; flex-wrap:wrap; gap:7px; margin-top:11px; }
.cp { display:inline-flex;align-items:center;gap:7px;padding:7px 15px;border-radius:100px;font-size:.73rem;font-weight:600;color:var(--navy);background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.8);box-shadow:0 2px 12px rgba(26,46,74,.04),inset 0 1px 0 rgba(255,255,255,.9);transition:all .25s;white-space:nowrap;cursor:pointer; }
.cp:hover { background:rgba(255,255,255,.88);transform:translateY(-2px);box-shadow:0 6px 18px rgba(15,109,243,.12),inset 0 1px 0 rgba(255,255,255,1); }
.cp svg { width:12px;height:12px;stroke:var(--blue);fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2; }
.cin-r { padding:14px 18px; border-top:1px solid rgba(255,255,255,.5); display:flex; gap:10px; align-items:center; }
.cin { flex:1;background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.7);border-radius:100px;padding:10px 17px;font-size:.83rem;font-family:inherit;color:var(--navy);outline:none;transition:all .25s;backdrop-filter:blur(10px); }
.cin::placeholder { color:var(--gray); }
.cin:focus { background:rgba(255,255,255,.78);border-color:rgba(15,109,243,.4);box-shadow:0 0 0 3px rgba(15,109,243,.07); }
.csend { width:40px;height:40px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,transform .15s,box-shadow .2s; }
.csend:hover { background:var(--blue);transform:translateY(-1px);box-shadow:0 5px 18px rgba(15,109,243,.3); }
.csend svg { width:15px;height:15px;stroke:#fff;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2; }

/* ── SERVICES ─────────────────────────────── */
.sg { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:44px; }
.sc { border-radius:24px; padding:34px; position:relative; overflow:hidden; transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s; }
.sc::before { content:''; position:absolute; top:0; left:0; right:0; height:1px; background:linear-gradient(90deg,transparent,rgba(15,109,243,.4),transparent); opacity:0; transition:opacity .3s; }
.sc:hover { transform:translateY(-4px); }
.sc:hover::before { opacity:1; }
.sc-num { font-size:.6rem; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--blue); margin-bottom:14px; }
.sc-ic { width:44px;height:44px;border-radius:13px;background:rgba(255,255,255,.6);display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.9);flex-shrink:0; }
.sc-ic svg { width:19px;height:19px;stroke:var(--blue);fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9; }
.sc.tc .sc-ic svg { stroke:var(--teal); }
.sc-th { display:flex; align-items:center; gap:10px; margin-bottom:8px; flex-wrap:wrap; }
.sc-th h3 { font-size:1.1rem; font-weight:700; }
.sicons { display:flex; gap:5px; align-items:center; }
.sicons svg { width:16px;height:16px;fill:var(--gray);opacity:.6;transition:opacity .2s; }
.sc:hover .sicons svg { opacity:.9; }
.sc p { font-size:.845rem; line-height:1.73; color:var(--gray); margin-bottom:18px; }
.stags { display:flex; flex-wrap:wrap; gap:5px; }
.stag { font-size:.67rem;font-weight:500;color:var(--gray);background:rgba(255,255,255,.55);border:1px solid rgba(255,255,255,.7);border-radius:100px;padding:3px 10px;backdrop-filter:blur(8px); }
.sc-pt { margin-top:14px; padding-top:14px; border-top:1px solid rgba(255,255,255,.5); font-size:.73rem; color:var(--teal); font-weight:600; }

/* ── PORTFOLIO ────────────────────────────── */
.pg { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:44px; }
.pc-wide { grid-column:span 2; }
.pc-reel { grid-column:span 1; }
.pc { border-radius:22px; overflow:hidden; transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s; position:relative; }
.pc:hover { transform:translateY(-5px); box-shadow:0 20px 48px rgba(15,109,243,.13); }
.pv { width:100%; height:320px; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; background:#0f1a2e; }
.pv-land { height:320px; }
.pv-reel { height:320px; }
.pv img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.16,1,.3,1); }
.pc:hover .pv img { transform:scale(1.04); }
.pv video { width:100%; height:100%; object-fit:cover; display:block; }
.pv-gallery { display:flex; gap:3px; height:200px; }
.pv-gallery img { flex:1; object-fit:cover; min-width:0; transition:flex .4s; }
.pv-gallery img:hover { flex:2; }
.puh { font-size:.62rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.35);display:flex;flex-direction:column;align-items:center;gap:8px;position:absolute; }
.puh svg { width:22px;height:22px;stroke:rgba(255,255,255,.28);fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6; }
.pplay { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.18);opacity:0;transition:opacity .25s; }
.pplay svg { width:44px;height:44px;stroke:#fff;fill:rgba(255,255,255,.15);stroke-width:1.5; }
.pc:hover .pplay { opacity:1; }
.pb2 { padding:18px 20px 20px; }
.pcat { font-size:.59rem;font-weight:700;letter-spacing:2.2px;text-transform:uppercase;color:var(--blue);margin-bottom:5px; }
.pc h4 { font-size:.9rem; font-weight:700; margin-bottom:5px; }
.pc p { font-size:.76rem; color:var(--gray); line-height:1.65; }
.ptags { display:flex;gap:4px;flex-wrap:wrap;margin-top:9px; }
.ptag { font-size:.59rem;font-weight:500;color:var(--gray);background:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.7);border-radius:100px;padding:2px 9px; }
.g1{background:linear-gradient(135deg,#0F6DF3,#1a2e4a)}
.g2{background:linear-gradient(135deg,#469083,#0F6DF3)}
.g3{background:linear-gradient(135deg,#1a2e4a,#469083)}
.g4{background:linear-gradient(135deg,#7c3aed,#0F6DF3)}
.g5{background:linear-gradient(135deg,#0F6DF3,#469083)}
.g6{background:linear-gradient(135deg,#1a2e4a,#7c3aed)}
.pc-wirdo { background:linear-gradient(135deg,#0c1929,#1a2e4a); border:1px solid rgba(15,109,243,.2); }
.pc-wirdo .pb2 { background:transparent; }
.pc-wirdo h4 { color:#fff; }
.pc-wirdo .pcat { color:rgba(15,109,243,.9); }
.pc-wirdo p { color:rgba(255,255,255,.5); }
.pc-wirdo .ptag { background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.12); color:rgba(255,255,255,.5); }

/* ── TRUSTED BY CAROUSEL ──────────────────── */
#trusted { padding:80px 0; position:relative; z-index:2; overflow:hidden; }
.tb-lbl { text-align:center; margin-bottom:36px; }
.carousel-outer { overflow:hidden; mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%); -webkit-mask-image:linear-gradient(to right,transparent 0%,black 8%,black 92%,transparent 100%); }
.carousel-track { display:flex; gap:16px; width:max-content; animation:scroll 32s linear infinite; }
.carousel-track:hover { animation-play-state:paused; }
@keyframes scroll { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.clogo { flex-shrink:0; min-width:160px; height:68px; background:rgba(255,255,255,.72); backdrop-filter:blur(22px) saturate(180%); -webkit-backdrop-filter:blur(22px) saturate(180%); border:1px solid rgba(255,255,255,.8); border-radius:14px; display:flex; align-items:center; justify-content:center; padding:0 22px; box-shadow:0 4px 16px rgba(26,46,74,.06),inset 0 1px 0 rgba(255,255,255,.95); transition:transform .25s,box-shadow .25s,border-color .25s; cursor:pointer; text-decoration:none; }
.clogo:hover { transform:translateY(-3px); box-shadow:0 10px 28px rgba(15,109,243,.14),inset 0 1px 0 rgba(255,255,255,1); border-color:rgba(15,109,243,.25); }
.clogo img { max-height:54px; max-width:150px; object-fit:contain; mix-blend-mode:multiply; opacity:.72; transition:opacity .25s; }
.clogo:hover img { opacity:1; }
.clogo-text { font-size:.78rem; font-weight:700; color:var(--gray); letter-spacing:.3px; white-space:nowrap; transition:color .25s; }
.clogo:hover .clogo-text { color:var(--navy); }

/* ── HEYAY LABS ───────────────────────────── */
#heyay { position:relative; z-index:2; }
.hay-wrap { max-width:1100px; margin:0 auto; padding:0 52px 96px; }
.hay-header { display:flex; align-items:center; gap:16px; margin-bottom:36px; flex-wrap:wrap; }
.hay-badge { display:inline-flex; align-items:center; gap:6px; background:rgba(70,144,131,.1); border:1px solid rgba(70,144,131,.25); border-radius:100px; padding:5px 14px; font-size:.62rem; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--teal); }
.hay-title { font-size:1.1rem; font-weight:700; }
.hay-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.hay-card { border-radius:18px; padding:22px; transition:transform .25s,box-shadow .25s; }
.hay-card:hover { transform:translateY(-3px); }
.hay-card svg { width:18px;height:18px;stroke:var(--teal);fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;margin-bottom:12px; }
.hay-card h4 { font-size:.85rem; font-weight:700; margin-bottom:5px; }
.hay-card p { font-size:.76rem; color:var(--gray); line-height:1.6; }

/* ── PROCESS ──────────────────────────────── */
.pr { display:grid; grid-template-columns:repeat(4,1fr); position:relative; margin-top:52px; }
.pr::before { content:''; position:absolute; top:22px; left:8%; right:8%; height:1px; background:rgba(255,255,255,.7); z-index:0; }
.ps { padding:0 18px; text-align:center; }
.psn { width:44px;height:44px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:.76rem;font-weight:700;color:var(--blue);position:relative;z-index:1; }
.ps h4 { font-size:.88rem; font-weight:700; margin-bottom:6px; }
.ps p { font-size:.76rem; color:var(--gray); line-height:1.65; }

/* ── MANIFESTO ────────────────────────────── */
#manifesto { position:relative; z-index:2; overflow:hidden; background:linear-gradient(160deg,#0c1929 0%,#1a2e4a 60%,#0a2240 100%); padding:120px 52px; }
.mf-glow { position:absolute; border-radius:50%; pointer-events:none; }
.mf-glow1 { width:700px; height:700px; background:radial-gradient(circle,rgba(15,109,243,.15),transparent 65%); top:-200px; left:50%; transform:translateX(-50%); }
.mf-glow2 { width:400px; height:400px; background:radial-gradient(circle,rgba(70,144,131,.1),transparent 65%); bottom:-100px; right:10%; }
.mf-inner { max-width:820px; margin:0 auto; position:relative; z-index:1; }
.mf-label { font-size:.6rem; font-weight:700; letter-spacing:3.5px; text-transform:uppercase; color:rgba(255,255,255,.35); display:block; margin-bottom:20px; }
.mf-title { font-size:clamp(2.6rem,5.5vw,5rem); font-weight:700; letter-spacing:-2.5px; line-height:1; color:#fff; margin-bottom:32px; background:linear-gradient(135deg,#fff 0%,rgba(255,255,255,.7) 100%); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.mf-title b { background:linear-gradient(135deg,var(--blue),#69a3ff); -webkit-background-clip:text; background-clip:text; }
.mf-body { font-size:1.05rem; line-height:1.85; color:rgba(255,255,255,.5); max-width:680px; }
.mf-body strong { color:rgba(255,255,255,.85); font-weight:500; }
.mf-title span { display:inline; }

/* ── CALENDLY ─────────────────────────────── */
#book { position:relative; z-index:2; }
.book-wrap { max-width:1100px; margin:0 auto; padding:96px 52px; }
.cal-container { border-radius:24px; margin-top:44px; background:#fff; border:1px solid rgba(255,255,255,.7); box-shadow:0 8px 40px rgba(26,46,74,.09); overflow:hidden; }
.cal-container .calendly-inline-widget { min-width:100%; height:700px; display:block; }

/* ── CTA ──────────────────────────────────── */
#cta { position:relative; z-index:2; }
.cta-bg { padding:110px 52px; text-align:center; position:relative; overflow:hidden; background:transparent; }
.cta-glow { position:absolute; top:-180px; left:50%; transform:translateX(-50%); width:650px; height:650px; border-radius:50%; background:radial-gradient(circle,rgba(15,109,243,.12),transparent 65%); pointer-events:none; }
.cta-in { max-width:600px; margin:0 auto; position:relative; z-index:1; }
.cta-in .lbl { color:var(--blue); }
.cta-t { font-size:clamp(2.2rem,4.5vw,3.8rem); font-weight:700; letter-spacing:-2px; line-height:1.05; }
.cta-t b { color:var(--blue); }
.ctasub { font-size:.88rem; line-height:1.8; color:var(--gray); max-width:420px; margin:12px auto 0; }
.cta-btns { display:flex; gap:11px; justify-content:center; margin-top:36px; flex-wrap:wrap; }
.bbi { background:var(--blue);color:#fff;padding:13px 30px;border-radius:100px;font-size:.86rem;font-weight:700;transition:all .2s; }
.bbi:hover { background:#0a5fd4;transform:translateY(-2px);box-shadow:0 10px 30px rgba(15,109,243,.38); }
.bgo { padding:13px 30px;border-radius:100px;font-size:.86rem;font-weight:500;color:var(--navy);border:1px solid rgba(26,46,74,.15);transition:all .2s; }
.bgo:hover { border-color:var(--blue);color:var(--blue); }
.ctacs { display:flex;gap:24px;justify-content:center;margin-top:32px;flex-wrap:wrap; }
.ctaci { display:flex;align-items:center;gap:7px;font-size:.77rem;color:var(--gray);transition:color .2s; }
.ctaci:hover { color:var(--navy); }
.ctaci svg { width:13px;height:13px;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2; }

/* ── FOOTER ───────────────────────────────── */
footer { max-width:1100px;margin:0 auto;padding:24px 52px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2;border-top:1px solid rgba(255,255,255,.55); }
.fl { font-size:1.05rem;font-weight:700; }
.fl b { color:var(--blue); }
footer p { font-size:.7rem;color:var(--gray); }

/* ── RESPONSIVE ───────────────────────────── */
@media(max-width:1024px){ .hay-grid{grid-template-columns:repeat(2,1fr)} }
@media(max-width:860px){
  nav{padding:0 18px} nav ul{display:none}
  .wrap,.chat-w,.hay-wrap,.book-wrap{padding-left:20px;padding-right:20px}
  #hero{padding:136px 20px 60px}
  .hg{grid-template-columns:1fr;gap:40px}
  .hv{height:260px}
  .o3{width:240px;height:240px}.o2{width:175px;height:175px}.o1{width:115px;height:115px}
  .sg{grid-template-columns:1fr}
  .pg{grid-template-columns:1fr 1fr}
  .pc-wide{grid-column:span 2}
  .pv,.pv-land,.pv-reel{height:220px}
  .pr{grid-template-columns:1fr 1fr;gap:32px}
  .pr::before{display:none}
  .hay-grid{grid-template-columns:1fr}
  #manifesto{padding:80px 20px}
  #cta .cta-bg{padding:72px 20px}
  .book-wrap{padding-top:72px;padding-bottom:72px}
  footer{padding:20px;flex-direction:column;gap:8px;text-align:center}
  #lang-btn{display:none}
  nav{top:36px}
}
