:root{--purple:#69269f;--purple2:#8c4cbc;--pink:#ee8fa9;--coral:#e76f51;--yellow:#f5b93b;--teal:#2ab4bd;--lav:#c7b2df;--ink:#34253d;--muted:#756a79;--cream:#fffaf6;--soft:#fbf7fc;--line:#eee6f1;--green:#617c58;--white:#fff;--shadow:0 22px 70px rgba(78,43,96,.12);--radius:28px;--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(calc(100% - 36px),var(--max));margin:auto}
.announcement{background:#512077;color:#fff;text-align:center;padding:9px 18px;font-size:12px;font-weight:750}
.site-nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-inner{height:78px;display:flex;align-items:center;gap:26px}
.logo img{width:142px;height:62px;object-fit:contain}
.desktop-nav{display:flex;gap:22px;margin-left:auto;font-size:13px;font-weight:800;color:#655a69}
.desktop-nav a{padding:8px 0}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--purple)}
.nav-actions{display:flex;gap:9px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:14px;padding:12px 18px;font-size:13px;font-weight:900;border:1px solid transparent;cursor:pointer}
.btn.primary{color:#fff;background:linear-gradient(135deg,var(--purple),var(--purple2));box-shadow:0 10px 25px rgba(105,38,159,.2)}
.btn.ghost{border-color:#dfd2e7;color:var(--purple);background:#fff}
.btn.coral{background:var(--coral);color:#fff}
.menu-btn{display:none;border:0;background:#f5edf9;color:var(--purple);border-radius:12px;width:42px;height:42px;font-size:20px}
.mobile-nav{display:none}
.hero{padding:74px 0 58px;background:radial-gradient(circle at 10% 8%,#fff1f5 0 13%,transparent 34%),radial-gradient(circle at 95% 13%,#eaf9fa 0 12%,transparent 33%)}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:58px;align-items:center}
.eyebrow{display:inline-flex;padding:7px 11px;border-radius:999px;background:#f4eafa;color:var(--purple);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.08em}
.hero h1{font-size:clamp(46px,6vw,76px);line-height:.99;letter-spacing:-.055em;margin:20px 0 22px}
.hero h1 .accent{color:var(--purple)}
.hero h1 .pink{color:#e56f91}
.lead{font-size:18px;color:var(--muted);max-width:650px}
.hero-actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:28px}
.hero-media{min-height:500px;position:relative}
.hero-media:before{content:"";position:absolute;inset:34px -16px 10px 40px;background:linear-gradient(135deg,#ffd7e2,#f0e4f8 52%,#d9f4f3);border-radius:41% 59% 58% 42% / 48% 43% 57% 52%;transform:rotate(-4deg)}
.hero-media>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:40% 60% 46% 54% / 52% 40% 60% 48%;box-shadow:var(--shadow)}
.floating{position:absolute;z-index:2;background:#fff;border:1px solid var(--line);box-shadow:0 13px 36px rgba(78,43,96,.12);border-radius:19px;padding:14px 16px;font-size:12px}
.floating.one{left:-22px;bottom:34px}
.floating.two{right:-18px;top:24px}
.section{padding:92px 0}
.section.soft{background:linear-gradient(180deg,#fff,#fff8fb)}
.section-head{display:grid;grid-template-columns:1fr .85fr;gap:48px;align-items:end;margin-bottom:40px}
.section-head h2,.page-hero h1{font-size:clamp(38px,5vw,60px);line-height:1.03;letter-spacing:-.045em;margin:10px 0}
.section-head p,.muted{color:var(--muted)}
.kicker{font-size:11px;font-weight:950;color:var(--purple);text-transform:uppercase;letter-spacing:.1em}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:0 10px 32px rgba(78,43,96,.05)}
.card h3{margin:10px 0 6px;font-size:22px}
.card p{margin:0;color:var(--muted)}
.icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#f4eafa;font-size:21px}
.cards .card:nth-child(2) .icon{background:#fff0e9}
.cards .card:nth-child(3) .icon{background:#e9f8f8}
.service-card{overflow:hidden;padding:0}
.service-card img{height:245px;width:100%;object-fit:cover}
.service-body{padding:26px}
.age{display:inline-block;font-size:11px;font-weight:900;border-radius:999px;padding:7px 10px;background:#f4eafa;color:var(--purple)}
.checklist{padding-left:18px;color:#665b6b}
.checklist li{margin:7px 0}
.values-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.value{position:relative;overflow:hidden;padding:24px 25px;border:1px solid transparent;border-radius:22px;box-shadow:0 12px 30px rgba(78,43,96,.07);transition:transform .2s ease,box-shadow .2s ease}
.value:after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;right:-34px;bottom:-44px;background:currentColor;opacity:.08}
.value:hover{transform:translateY(-3px);box-shadow:0 18px 38px rgba(78,43,96,.12)}
.value h3,.value p{position:relative;z-index:1}
.value h3{margin:0 0 6px}
.value p{margin:0;color:var(--ink);opacity:.78}
.value:nth-child(1){background:#f4eafa;border-color:#dcc7ea;color:var(--purple)}
.value:nth-child(2){background:#fff0f4;border-color:#f4c5d2;color:#b64e6d}
.value:nth-child(3){background:#e9f8f8;border-color:#b9e4e6;color:#177b82}
.value:nth-child(4){background:#fff7df;border-color:#f2d88e;color:#8a650e}
.value:nth-child(5){background:#fff0e9;border-color:#f1c1b2;color:#aa5039}
.value:nth-child(6){background:#eef4eb;border-color:#c9d8c4;color:var(--green)}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center}
.split img{border-radius:30px;box-shadow:var(--shadow)}
.split img.philosophy-photo{width:100%;height:560px;object-fit:cover}
.quote{font-size:28px;font-weight:900;color:var(--purple);line-height:1.25}
.page-hero{padding:70px 0 50px;background:linear-gradient(135deg,#fff7fa,#f8f2fb 58%,#effafa)}
.page-hero p{font-size:17px;color:var(--muted);max-width:760px}
.identity{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.identity .item{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}
.identity b{display:block;font-size:11px;color:var(--purple);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.profile-photo-band{padding:0 0 30px;background:linear-gradient(180deg,#fff,#fff8fb)}
.profile-photo-band figure{margin:0;position:relative;overflow:hidden;border-radius:32px;box-shadow:var(--shadow)}
.profile-photo-band img{width:100%;height:520px;object-fit:cover}
.profile-photo-band figcaption{position:absolute;left:24px;bottom:24px;max-width:460px;padding:16px 19px;border:1px solid rgba(255,255,255,.62);border-radius:18px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);box-shadow:0 12px 36px rgba(52,37,61,.14)}
.profile-photo-band figcaption strong,.profile-photo-band figcaption span{display:block}
.profile-photo-band figcaption strong{color:var(--purple);font-size:16px}
.profile-photo-band figcaption span{color:var(--muted);font-size:13px}
.profile-story{display:grid;grid-template-columns:1fr .9fr;gap:52px;align-items:center}
.profile-story h2{font-size:clamp(38px,5vw,58px);line-height:1.03;letter-spacing:-.045em;margin:10px 0 24px}
.profile-story p{color:var(--muted)}
.profile-story img{width:100%;height:500px;object-fit:cover;border-radius:30px;box-shadow:var(--shadow)}
.vision-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}
.vision{background:linear-gradient(145deg,#522274,#7b3fa0);color:#fff;border-radius:28px;padding:30px}
.vision p{color:#eee3f3}
.missions{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px}
.missions ol{padding-left:20px}
.missions li{margin:10px 0}
.slogan{padding:42px;border-radius:32px;background:linear-gradient(135deg,#fff0f4,#f2eafa 55%,#eaf9f9);text-align:center}
.slogan h2{font-size:clamp(34px,5vw,58px);line-height:1.05;margin:7px auto 15px;max-width:900px}
.slogan p{color:var(--muted);max-width:760px;margin:8px auto}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.gallery img{height:220px;width:100%;object-fit:cover;border-radius:22px}
.gallery img:first-child{height:452px;grid-row:span 2}
.form-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;align-items:start}
.form-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow)}
.field{margin-bottom:15px}
.field label{display:block;font-size:12px;font-weight:900;margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #ddd1e3;border-radius:12px;font:inherit;background:#fff;color:var(--ink)}
.field textarea{min-height:110px;resize:vertical}
.notice{padding:13px 15px;border-radius:13px;margin:15px 0;font-size:13px;font-weight:800}
.notice.success{background:#e7f4e4;color:#476345}
.notice.error{background:#fae7e2;color:#8b4e45}
.faq{border:1px solid var(--line);border-radius:18px;margin-bottom:10px;background:#fff;overflow:hidden}
.faq-q{padding:18px 20px;font-weight:900;cursor:pointer;display:flex;justify-content:space-between}
.faq-a{display:none;padding:0 20px 18px;color:var(--muted)}
.faq.open .faq-a{display:block}
footer{background:#33223e;color:#f7f1f8;padding:54px 0 18px;margin-top:50px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px}
.footer-logo{width:155px;background:#fff;border-radius:16px;padding:7px}
.footer-grid h4{margin-top:0}
.footer-grid a,.footer-grid span{display:block;color:#d8cddd;margin:6px 0;font-size:13px}
.footer-grid p{color:#d8cddd;max-width:370px}
.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:16px;color:#bfaec8;font-size:12px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:28px}
.stat{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}
.stat b{display:block;font-size:28px;color:var(--purple)}
@media(max-width:900px){.desktop-nav,.nav-actions .ghost,.nav-actions .primary{display:none}
.menu-btn{display:block}
.nav-actions{margin-left:auto}
.mobile-nav.open{display:flex;flex-direction:column;padding:14px 20px 20px;gap:12px;border-top:1px solid var(--line);font-weight:800}
.hero-grid,.section-head,.split,.form-grid,.vision-grid,.profile-story{grid-template-columns:1fr}
.hero-media{min-height:390px}
.cards{grid-template-columns:1fr}
.values-grid{grid-template-columns:1fr}
.identity{grid-template-columns:1fr 1fr}
.gallery{grid-template-columns:1fr 1fr}
.gallery img:first-child{grid-row:auto;height:260px;grid-column:span 2}
.stats{grid-template-columns:1fr 1fr}
.footer-grid{grid-template-columns:1fr}
.profile-photo-band img,.profile-story img{height:390px}
.split img.philosophy-photo{height:440px}
}
@media(max-width:560px){.section{padding:68px 0}
.hero{padding:48px 0}
.hero h1{font-size:47px}
.hero-media{min-height:315px}
.floating{display:none}
.identity,.gallery,.stats{grid-template-columns:1fr}
.gallery img:first-child{grid-column:auto;height:220px}
.gallery img{height:220px}
.site-nav .logo img{width:125px}
.announcement{font-size:10px}
.slogan{padding:30px 20px}
.profile-photo-band figure{border-radius:22px}
.profile-photo-band img,.profile-story img{height:280px}
.profile-photo-band figcaption{left:12px;right:12px;bottom:12px;padding:12px 14px}
.split img.philosophy-photo{height:360px}
}
.copyright{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.hosniva-credit{display:inline-flex;align-items:center;gap:7px;color:#bfaec8;opacity:.82;text-decoration:none;font-size:12px;transition:opacity .2s ease}
.hosniva-credit:hover{opacity:1}
.hosniva-credit img{height:14px;width:auto;display:block}
.hosniva-credit b{color:#f7f1f8;font-weight:800;letter-spacing:.01em}
