html,
body {
 margin: 0;
 padding: 0;
 font-family: 'Pretendard';
 color: #192343;
 background: #fff;
 word-break: keep-all;
 overflow-wrap: break-word;
 }

* {
 box-sizing: border-box;
 }

.contact-wrap {
 max-width: 1200px;
 margin: 0 auto;
 padding: 60px 24px 90px;
 display: flex;
 align-items: flex-start;
 gap: 40px;
 }

.contact-left {
 flex: 0 0 260px;
 min-height: 560px;
 padding: 8px 28px 0 0;
 border-right: 1px solid rgba(25, 35, 67, .12);
 display: flex;
 flex-direction: column;
 gap: 40px;
 }

.contact-left h2 {
 margin: 0 0 -16px;
 font-size: 24px;
 font-weight: 800;
 }

.contact-menu {
 display: flex;
 flex-direction: column;
 gap: 4px;
 }

.contact-menu a {
 position: relative;
 display: block;
 padding: 11px 0 11px 16px;
 color: rgba(25, 35, 67, .78);
 text-decoration: none;
 font-size: 15px;
 font-weight: 500;
 border-radius: 8px;
 }

.contact-menu a:hover,
.contact-menu a.active {
 color: #45B6B0;
 background: rgba(69, 182, 176, .1);
 font-weight: 700;
 }

.contact-menu a.active::before {
 content: "";
 position: absolute;
 left: 0;
 top: 10px;
 bottom: 10px;
 width: 3px;
 border-radius: 99px;
 background: #45B6B0;
 }

.about-links {
 display: flex;
 flex-direction: column;
 gap: 12px;
 }

.link-title {
 margin: 0 0 2px;
 font-size: 13px;
 font-weight: 700;
 color: rgba(25, 35, 67, .45);
 }

.link-box {
 width: 190px;
 height: 74px;
 padding: 14px;
 border: 1px solid rgba(25, 35, 67, .12);
 border-radius: 12px;
 background: #fff;
 display: flex;
 align-items: center;
 justify-content: center;
 overflow: hidden;
 }

.link-box img {
 max-width: 100%;
 max-height: 130%;
 object-fit: contain;
 }

.contact-right {
 flex: 1;
 max-width: 820px;
 }

.contact-header {
 margin-bottom: 34px;
 }

.eyebrow {
 display: inline-block;
 margin-bottom: 8px;
 color: #45B6B0;
 font-size: 13px;
 font-weight: 800;
 letter-spacing: .08em;
 }

.contact-header h1 {
 margin: 0;
 font-size: 38px;
 font-weight: 800;
 }

.contact-header p {
 margin: 14px 0 0;
 font-size: 16px;
 line-height: 1.7;
 color: rgba(25, 35, 67, .62);
 }

.contact-form {
 padding: 32px;
 border: 1px solid rgba(25, 35, 67, .1);
 border-radius: 20px;
 background: #F7FAFA;
 }

.form-row {
 margin-bottom: 22px;
 }

.form-row label {
 display: block;
 margin-bottom: 10px;
 font-size: 15px;
 font-weight: 800;
 }

.form-row label span {
 color: #45B6B0;
 }

.form-row label em {
 font-style: normal;
 font-size: 13px;
 color: rgba(25, 35, 67, .45);
 }

.form-row input,
.form-row select,
.form-row textarea {
 width: 100%;
 border: 1px solid rgba(25, 35, 67, .14);
 border-radius: 12px;
 background: #fff;
 font-family: inherit;
 font-size: 15px;
 color: #192343;
 outline: none;
 }

.form-row input,
.form-row select {
 height: 48px;
 padding: 0 14px;
 }

.form-row textarea {
 min-height: 180px;
 padding: 14px;
 resize: vertical;
 line-height: 1.7;
 }

.form-row input:focus,
.form-row select:focus,
.form-row textarea:focus {
 border-color: #45B6B0;
 }

.privacy-box {
 margin-top: 8px;
 padding: 20px;
 border-radius: 14px;
 background: #fff;
 border: 1px solid rgba(25, 35, 67, .1);
 }

.privacy-box strong {
 display: block;
 margin-bottom: 10px;
 font-size: 15px;
 font-weight: 800;
 }

.privacy-box p {
 margin: 0 0 14px;
 font-size: 14px;
 line-height: 1.7;
 color: rgba(25, 35, 67, .65);
 }

.privacy-check {
 display: flex;
 align-items: center;
 gap: 8px;
 font-size: 14px;
 font-weight: 700;
 }

.contact-actions {
 margin-top: 28px;
 display: flex;
 justify-content: flex-end;
 }

.contact-submit {
 height: 46px;
 padding: 0 28px;
 border: 0;
 border-radius: 10px;
 background: #45B6B0;
 color: #fff;
 font-family: inherit;
 font-size: 15px;
 font-weight: 800;
 cursor: pointer;
 }

.contact-submit:hover {
 background: #35a39d;
 }