*{box-sizing:border-box}body{margin:0;background:var(--page);font-family:inherit;color:#213b38}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.wrap{width:min(calc(100% - 48px),var(--container));margin:auto}.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #e5ebe6;box-shadow:0 5px 24px #1835290b}.navwrap{height:88px;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{height:57px;width:60px;object-fit:contain}.brand b{display:block;font-size:17px;letter-spacing:-.4px}.brand small{display:block;color:#75847e;font-size:11px}.navlinks{display:flex;gap:24px;align-items:center}.navlinks a{font-size:14px;font-weight:650;color:#47625d}.navlinks a:hover{color:var(--primary)}.hamburger{display:none;background:none;border:0;font-size:25px}.block{padding:90px 0}.theme-white{background:#fff}.theme-light{background:var(--page)}.theme-dark{background:var(--primary);color:#fff}.eyebrow{letter-spacing:2.3px;text-transform:uppercase;font-size:11px;font-weight:800;color:var(--accent);margin-bottom:20px}.block h1{font-size:clamp(38px,4.8vw,68px);letter-spacing:-2.5px;line-height:1.1;margin:0 0 24px}.block h2{font-size:clamp(30px,3.2vw,46px);line-height:1.14;letter-spacing:-1.5px;margin:0 0 18px}.block p{font-size:16px;line-height:1.85;color:#697c77}.theme-dark p{color:#d4e1dc}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;min-height:440px}.hero-image{width:100%;height:460px;object-fit:cover;border-radius:var(--radius);box-shadow:0 25px 55px #09292235}.hero-copy p{font-size:18px;max-width:540px}.btn{background:var(--accent);color:#183b35;padding:16px 23px;font-size:14px;font-weight:800;display:inline-flex;gap:24px;align-items:center;border-radius:9px;margin-top:17px}.btn:hover{filter:brightness(1.08)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}.intro-grid img{width:100%;height:430px;object-fit:cover;border-radius:var(--radius)}.block-head{text-align:center;max-width:690px;margin:0 auto 42px}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.program-card{background:#fff;border-radius:var(--radius);box-shadow:0 13px 32px #1835290e;overflow:hidden}.program-card img{width:100%;height:215px;object-fit:cover}.card-info{padding:24px}.card-info h3{font-size:22px;margin:0}.card-info p{font-size:14px;margin:10px 0 0}.banner{display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:70px}.banner img{width:100%;height:350px;object-fit:cover;border-radius:var(--radius)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery a{overflow:hidden;border-radius:var(--radius)}.gallery img{width:100%;height:270px;object-fit:cover;display:block;transition:transform .2s}.gallery img:hover{transform:scale(1.045)}.text-block{max-width:760px;margin:auto;text-align:center}.text-block img{width:100%;margin-top:20px;border-radius:var(--radius)}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.contact-tile{padding:30px;border:1px solid #e2e6e3;border-radius:var(--radius);word-wrap:break-word}.contact-tile small{display:block;color:#71847a;margin-bottom:13px}.contact-tile strong{font-size:17px}footer{background:#103a34;color:#e4eee8;padding:35px 0}.foot{display:flex;justify-content:space-between;align-items:center;gap:30px}.foot p{font-size:13px;color:#b5cbc2}.foot a{color:#e1bf75}.edit-float{position:fixed;bottom:24px;right:24px;background:var(--accent);color:#173e36;padding:13px 18px;border-radius:12px;font-weight:800;z-index:12;box-shadow:0 4px 22px #0002}@media(max-width:850px){.navwrap{height:74px}.navlinks{display:none;position:absolute;left:0;right:0;top:74px;background:#fff;padding:20px 24px;flex-direction:column;align-items:stretch}.navlinks.opened{display:flex}.hamburger{display:block}.hero-grid,.intro-grid,.banner{grid-template-columns:1fr;gap:25px}.hero-image,.intro-grid img{height:320px}.card-grid,.gallery,.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.block{padding:64px 0}}@media(max-width:520px){.wrap{width:min(calc(100% - 32px),var(--container))}.brand b{font-size:14px}.brand small{font-size:10px}.brand img{width:48px}.block h1{letter-spacing:-1.5px}.card-grid,.gallery,.contact-grid{grid-template-columns:1fr}.hero-image{height:265px}.gallery img{height:230px}.foot{align-items:flex-start;flex-direction:column}.block{padding:52px 0}}
