*{box-sizing:border-box;margin:0;padding:0}
html,body{max-width:100%;overflow-x:hidden}
body{font-family:'Inter',sans-serif;background:#fdf7fb;min-height:100vh;color:#2e2f37;-webkit-font-smoothing:antialiased}

.wrap{max-width:1180px;margin:0 auto;padding:40px 28px}

/* Language switch fixed */
.lang-fixed{position:fixed;top:14px;right:14px;display:flex;gap:8px;z-index:50}
.lang-btn{background:#fff;border:1px solid #d7cfee;border-radius:10px;padding:8px 16px;font-weight:600;font-size:13px;cursor:pointer;letter-spacing:.5px;color:#49318d;box-shadow:0 4px 14px -6px rgba(41,12,98,.28);transition:.3s}
.lang-btn.active,.lang-btn:hover{background:linear-gradient(90deg,#ec4899,#8b5cf6);color:#fff;border-color:transparent}

/* Hero */
.hero{display:grid;grid-template-columns:320px 1fr;align-items:center;gap:60px;position:relative;margin-bottom:40px;overflow:visible}
@media (max-width:880px){.hero{grid-template-columns:1fr;gap:28px;text-align:center}}
.hero-photo{position:relative}
.hero-photo img{width:300px;height:300px;object-fit:cover;border-radius:50%;border:9px solid #fff;box-shadow:0 18px 55px -18px rgba(0,0,0,.35);position:relative;z-index:2}
.hero-bg-a,.hero-bg-b{position:absolute;filter:blur(55px);border-radius:50%;opacity:.7;z-index:-1;pointer-events:none}
/* Force hero text & buttons above any decorative layers */
.hero-text,.cta-row,.hero .btn{position:relative;z-index:5}
/* Improve tap reliability */
.hero .btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.hero-bg-a{width:400px;height:400px;left:-40px;top:-40px;background:radial-gradient(circle at 30% 30%,#ec48998c,#8b5cf66c,#06b6d452)}
.hero-bg-b{width:480px;height:480px;right:-120px;bottom:-60px;background:radial-gradient(circle at 50% 50%,#8b5cf66e,#06b6d45c,#ec48994f)}

/* Center photo & background blobs on mobile */
@media (max-width:880px){
	.hero-photo{display:flex;justify-content:center;}
	.hero-photo img{margin:0 auto;}
	.hero-bg-a,.hero-bg-b{left:50%;right:auto;transform:translateX(-50%);}
	.hero-bg-a{top:-70px;}
	.hero-bg-b{bottom:-50px;}
}

.name{font-size:50px;line-height:1.05;margin:0 0 20px;font-weight:700}
@media (max-width:600px){.name{font-size:42px}}
.grad{background:linear-gradient(90deg,#ec4899,#a855f7);-webkit-background-clip:text;background-clip:text;color:transparent}
.grad2{background:linear-gradient(90deg,#8b5cf6,#06b6d4);-webkit-background-clip:text;background-clip:text;color:transparent}
.subtitle{font-size:24px;font-weight:600;color:#343643;margin:0 0 16px}
.exp-line{display:flex;align-items:center;gap:8px;font-weight:500;color:#45475a;margin:0 0 26px}
@media (max-width:880px){.exp-line{justify-content:center}}
.star{color:#f9c02d;font-size:20px;line-height:1}

.cta-row{display:flex;gap:14px;flex-wrap:wrap}
@media (max-width:880px){.cta-row{justify-content:center}}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;font-weight:600;font-size:15px;border-radius:34px;text-decoration:none;transition:.35s;box-shadow:0 6px 18px -6px rgba(0,0,0,.25)}
.btn.green{background:#16a34a;color:#fff}
.btn.green:hover{background:#138a3f}
.btn.outline{background:#fff;color:#7e22ce;border:2px solid #a855f7;box-shadow:none}
.btn.outline:hover{background:linear-gradient(90deg,#ec4899,#8b5cf6);color:#fff;border-color:transparent}
.btn.violet{background:linear-gradient(90deg,#8b5cf6,#a855f7);color:#fff}
.btn.violet:hover{filter:brightness(1.08)}
.btn.small{padding:12px 22px;font-size:14px}

/* Sections */
section{margin-bottom:70px;position:relative}
section h2{font-size:40px;margin:0 0 34px;text-align:center;font-weight:700;background:linear-gradient(90deg,#7c3aed,#ec4899);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:640px){section h2{font-size:34px}}

/* About */
.about-card{background:#fff;border-radius:46px;padding:42px 60px;box-shadow:0 22px 55px -18px rgba(74,31,138,.18);position:relative;overflow:hidden}
@media (max-width:780px){.about-card{padding:36px 32px;border-radius:36px}}
.about-icons{display:flex;justify-content:center;gap:90px;margin:0 0 26px}
@media (max-width:640px){.about-icons{gap:46px}}
.icon{width:46px;height:46px;display:flex;align-items:center;justify-content:center}
.ico{width:46px;height:46px;stroke:#8b5cf6}
.about-text{font-size:19px;line-height:1.55;color:#2f3240;max-width:880px;margin:0 auto}
.about-text p{margin:0 0 14px}

/* Topics */
.cards3{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.tcard{background:#fff;border-radius:26px;padding:32px 30px;box-shadow:0 16px 42px -14px rgba(93,38,167,.18);display:flex;flex-direction:column;gap:14px;position:relative;transition:.35s}
.tcard:hover{transform:translateY(-6px);box-shadow:0 22px 55px -14px rgba(93,38,167,.28)}
.ticon{width:58px;height:58px;display:flex;align-items:center;justify-content:center}
.tcard .ico{width:54px;height:54px}
.tcard h3{margin:4px 0 0;font-size:18px}
.tcard p{margin:0;font-size:14px;line-height:1.45;color:#4b4f58}

/* Format */
.cards4{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.fcard{background:#fff;border-radius:26px;padding:32px 28px;box-shadow:0 14px 40px -14px rgba(80,32,150,.16);display:flex;flex-direction:column;gap:14px;transition:.35s}
.fcard:hover{transform:translateY(-6px);box-shadow:0 22px 55px -14px rgba(80,32,150,.25)}
.ficon{width:54px;height:54px;display:flex;align-items:center;justify-content:center}
.fcard .ico{width:50px;height:50px}
.fcard h3{margin:2px 0 0;font-size:17px}
.fcard p{margin:0;font-size:14px;line-height:1.45;color:#4b4f58}

/* Contacts */
.contact-grid{display:grid;gap:34px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 0 36px}
.contact-card{background:#fff;border-radius:30px;padding:40px 36px;box-shadow:0 18px 48px -16px rgba(74,31,138,.18);display:flex;flex-direction:column;gap:16px;transition:.35s}
.contact-card:hover{transform:translateY(-6px);box-shadow:0 26px 60px -18px rgba(74,31,138,.28)}
.cicon{width:58px;height:58px;display:flex;align-items:center;justify-content:center}
.contact-card .ico{width:54px;height:54px}
.contact-card h3{margin:4px 0 0;font-size:20px}
.contact-card p.big{margin:0;font-weight:600;font-size:15px;color:#2f3746}
.contact-card p.big .email-inline{color:inherit;text-decoration:none;position:relative}
.contact-card p.big .email-inline:hover{text-decoration:underline}
.note{font-size:15px;line-height:1.55;color:#424652;max-width:880px;margin:0 auto;text-align:center}
.social-block{max-width:880px;margin:10px auto 0;padding:40px 34px;background:#fff;border-radius:38px;box-shadow:0 20px 52px -18px rgba(74,31,138,.16);text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px}
.note-lead{font-size:16px;line-height:1.55;color:#2f3240;font-weight:500;margin:0}
.social-links{display:flex;gap:22px;flex-wrap:wrap;justify-content:center}
.soc{width:62px;height:62px;border-radius:22px;display:flex;align-items:center;justify-content:center;color:#5b37a6;background:linear-gradient(145deg,#f5f0ff,#ffffff);box-shadow:0 10px 28px -10px rgba(74,31,138,.25),inset 0 0 0 1px #e7dafc;position:relative;transition:.35s;text-decoration:none}
.soc svg{width:34px;height:34px}
.soc.fb{color:#2563eb}
.soc.ig{color:#db2777}
.soc.tt{color:#111827}
.soc:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 30% 30%,rgba(236,72,153,.35),rgba(139,92,246,.25),rgba(6,182,212,.2));opacity:0;transition:.45s;mix-blend-mode:overlay}
.soc:hover{transform:translateY(-6px);box-shadow:0 18px 46px -14px rgba(74,31,138,.35),inset 0 0 0 1px #d2c1f3}
.soc:hover:before{opacity:1}

/* Desktop tweaks for social block */
@media (min-width:1000px){
	.social-block{max-width:740px;width:100%;padding:52px 54px;border-radius:42px;margin-left:auto;margin-right:auto}
	/* Центрируем иконки с равномерными промежутками */
	.social-links{width:100%;display:flex;justify-content:space-around;align-items:center;gap:46px}
	.social-links .soc{flex:0 0 auto}
	.soc{width:72px;height:72px;border-radius:26px}
	.soc svg{width:38px;height:38px}
}

/* Footer */
.foot{text-align:center;padding:50px 0 60px;font-size:14px;color:#555;opacity:.85}

/* Utility */
img{display:block;max-width:100%}
@media (max-width:500px){.hero-photo img{width:240px;height:240px}}
