.sem-public-wrap,
.sem-public-wrap * { box-sizing: border-box; }
.sem-public-wrap { width: 100%; font-family: Inter, Arial, sans-serif; }
.sem-alert { margin: 0 0 18px; padding: 14px 16px; border-radius: 14px; font-weight: 800; }
.sem-success { background: #ecf8ef; color: #14512f; border: 1px solid #cfe8d6; }
.sem-error { background: #fff0f0; color: #9d1b1b; border: 1px solid #f2caca; }
.sem-form { padding: 34px; border-radius: 28px; background: #ffffff; border: 1px solid #e4efe7; box-shadow: 0 22px 60px rgba(18,60,39,.08); }
.sem-form-head { margin-bottom: 24px; }
.sem-form-head span { display: inline-block; color: #d6ae43; font-size: 13px; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; }
.sem-form-head h3 { margin: 10px 0 8px; color: #0f3d26; font-size: 32px; line-height: 1.15; font-weight: 950; }
.sem-form-head p { margin: 0; color: #5a7164; font-size: 15px; line-height: 1.7; }
.sem-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.sem-form label { display: block; margin-bottom: 18px; }
.sem-form label span { display: block; margin-bottom: 8px; color: #153820; font-size: 14px; font-weight: 900; }
.sem-form input,
.sem-form select,
.sem-form textarea { width: 100%; border: 1px solid #dce9e1; background: #f8fbf9; color: #10251a; border-radius: 16px; padding: 15px 16px; font-size: 15px; font-family: inherit; outline: none; transition: .25s ease; }
.sem-form input:focus,
.sem-form select:focus,
.sem-form textarea:focus { border-color: #14512f; background: #fff; box-shadow: 0 0 0 4px rgba(20,81,47,.08); }
.sem-form textarea { resize: vertical; }
.sem-form button { width: 100%; border: 0; cursor: pointer; padding: 17px 24px; border-radius: 999px; background: linear-gradient(135deg,#14512f,#1f7442); color: #fff; font-size: 16px; font-weight: 900; font-family: inherit; box-shadow: 0 16px 34px rgba(18,60,39,.18); transition: .25s ease; }
.sem-form button:hover { transform: translateY(-2px); }
.sem-hp { display:none !important; }
@media (max-width: 680px) { .sem-grid-2 { grid-template-columns: 1fr; gap: 0; } .sem-form { padding: 24px; border-radius: 22px; } .sem-form-head h3 { font-size: 26px; } }
