@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@1,600&display=swap");

:root{--navy:#10294b;--blue:#275f9d;--blue-soft:#eaf2f8;--gold:#bf9651;--cream:#f8f5ee;--ink:#1c2a3b;--muted:#677384;--line:#dde4e9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-family:"Noto Sans KR",sans-serif;word-break:keep-all}
a{color:inherit;text-decoration:none}
.site-header{position:absolute;z-index:10;top:0;left:50%;display:flex;width:min(calc(100% - 48px),1200px);height:86px;align-items:center;transform:translateX(-50%);border-bottom:1px solid rgba(255,255,255,.2);color:#fff}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:19px;font-weight:800;letter-spacing:-.5px}
.brand-mark{display:grid;width:38px;height:38px;place-items:center;border:1px solid currentColor;border-radius:50%;font-family:Georgia,serif;font-size:22px;font-weight:400}
.site-header nav{display:flex;align-items:center;gap:31px;margin-left:auto;font-size:13px;font-weight:600}
.header-login{padding:10px 18px;border:1px solid rgba(255,255,255,.65);border-radius:24px}
.hero{display:grid;min-height:720px;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);background:var(--navy);color:#fff}
.hero-copy{display:flex;padding:155px max(48px,calc((100vw - 1200px)/2)) 100px;flex-direction:column;justify-content:center}
.eyebrow{margin:0 0 19px;color:var(--gold);font-size:11px;font-weight:800;letter-spacing:2.4px}
.hero h1{margin:0;font-size:clamp(48px,5.2vw,76px);line-height:1.18;letter-spacing:-4px}
.hero h1 em{color:#d8b873;font-family:"Playfair Display",serif;font-weight:600}
.hero-description{max-width:590px;margin:31px 0 0;color:#c8d4e2;font-size:17px;line-height:1.9}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:42px}
.primary-button{padding:15px 25px;border-radius:3px;background:#d0aa66;color:#132c4b;font-size:13px;font-weight:800}
.text-link{font-size:12px;font-weight:700}.text-link span{margin-left:7px;color:#d0aa66}
.hero-art{position:relative;display:flex;overflow:hidden;align-items:center;justify-content:center;background:linear-gradient(155deg,#416f9a,#14375f 64%,#0d2644)}
.halo{position:absolute;width:620px;height:620px;border:1px solid rgba(225,192,125,.17);border-radius:50%;box-shadow:0 0 0 100px rgba(255,255,255,.025),0 0 0 220px rgba(255,255,255,.018)}
.window{position:relative;width:190px;height:370px;overflow:hidden;border:5px solid rgba(242,221,174,.68);border-radius:100px 100px 4px 4px;background:linear-gradient(180deg,#e6c985,#4f83ac 52%,#163858)}
.window:before,.window:after{position:absolute;background:rgba(250,235,202,.8);content:""}.window:before{top:0;left:50%;width:4px;height:100%}.window:after{top:42%;left:0;width:100%;height:4px}
.cross{position:absolute;z-index:2;top:72px;left:50%;width:14px;height:80px;transform:translateX(-50%);background:#fff8df;box-shadow:0 0 28px #fff}.cross:after{position:absolute;top:20px;left:-23px;width:60px;height:13px;background:inherit;content:""}
.light{position:absolute;top:140px;left:50%;width:180px;height:260px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(255,239,184,.42),transparent);clip-path:polygon(44% 0,56% 0,100% 100%,0 100%)}
.people{position:absolute;bottom:90px;left:50%;display:flex;align-items:flex-end;gap:17px;transform:translateX(-50%)}
.people i{display:block;width:42px;height:70px;border-radius:25px 25px 8px 8px;background:#0b2038;box-shadow:0 -29px 0 -8px #0b2038}.people i:nth-child(2),.people i:nth-child(4){height:85px}.people i:nth-child(3){height:100px}
.hero-art>p{position:absolute;right:40px;bottom:30px;color:rgba(255,255,255,.65);font-family:serif;font-size:14px;letter-spacing:1px}
.purpose{display:grid;width:min(calc(100% - 48px),1100px);grid-template-columns:.9fr 1.1fr;gap:90px;margin:0 auto;padding:125px 0}
.purpose h2,.section-heading h2{margin:0;font-size:clamp(31px,3.5vw,47px);line-height:1.35;letter-spacing:-2px}
.purpose-copy{padding-top:25px}.purpose-copy p{margin:0 0 17px;color:#566475;font-size:15px;line-height:2}.nonprofit-badge{display:inline-block;margin-top:15px;padding:9px 13px;border:1px solid #d9c49c;border-radius:2px;color:#8a682d;font-size:11px;font-weight:700}
.features{padding:110px 24px 120px;background:var(--cream)}
.section-heading{max-width:700px;margin:0 auto 56px;text-align:center}.section-heading>p:last-child{margin:17px 0 0;color:var(--muted);font-size:14px}
.feature-grid{display:grid;width:min(100%,1100px);grid-template-columns:repeat(3,1fr);margin:auto;border-top:1px solid #d8d3c8;border-left:1px solid #d8d3c8}
.feature-grid article{position:relative;min-height:285px;padding:37px;border-right:1px solid #d8d3c8;border-bottom:1px solid #d8d3c8;background:rgba(255,255,255,.52)}
.feature-number{position:absolute;top:22px;right:24px;color:#aca69a;font-family:serif;font-size:11px}.feature-icon{display:grid;width:51px;height:51px;margin-bottom:27px;place-items:center;border-radius:50%;background:var(--navy);color:#dfbd78;font-size:22px}.feature-grid h3{margin:0 0 13px;font-size:19px}.feature-grid p{margin:0;color:#657181;font-size:13px;line-height:1.85}
.login-section{padding:115px 24px 130px;background:#fff}.login-grid{display:grid;width:min(100%,1050px);grid-template-columns:repeat(3,1fr);gap:18px;margin:auto}.login-grid>a{position:relative;min-height:290px;padding:37px;border:1px solid var(--line);transition:.22s ease}.login-grid>a:hover{border-color:var(--blue);transform:translateY(-5px);box-shadow:0 18px 40px rgba(20,51,86,.1)}.role-icon{display:grid;width:48px;height:48px;margin-bottom:29px;place-items:center;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:21px}.login-grid small{color:var(--gold);font-size:9px;font-weight:800;letter-spacing:1.7px}.login-grid h3{margin:7px 0 10px;font-size:23px}.login-grid p{margin:0;color:var(--muted);font-size:12px;line-height:1.75}.login-grid b{position:absolute;right:34px;bottom:30px;left:37px;display:flex;justify-content:space-between;color:var(--blue);font-size:12px}.login-grid b span{font-size:18px}
footer{display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:center;padding:35px max(24px,calc((100vw - 1200px)/2));background:#0c213a;color:#fff}footer p{margin:0;color:#9fb0c2;font-size:11px}footer small{color:#71879d;font-size:10px}
@media(max-width:820px){.site-header nav>a:not(.header-login){display:none}.hero{min-height:auto;grid-template-columns:1fr}.hero-copy{min-height:650px;padding:145px 28px 80px}.hero h1{font-size:48px;letter-spacing:-3px}.hero-art{min-height:470px}.purpose{grid-template-columns:1fr;gap:20px;padding:85px 0}.purpose-copy{padding:0}.feature-grid{grid-template-columns:repeat(2,1fr)}.login-grid{grid-template-columns:1fr}.login-grid>a{min-height:250px}footer{grid-template-columns:1fr;text-align:center}footer .brand{justify-self:center}}
@media(max-width:520px){.site-header{width:calc(100% - 32px)}.hero-copy{min-height:610px;padding-right:20px;padding-left:20px}.hero h1{font-size:39px;letter-spacing:-2px}.hero-description{font-size:15px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-art{min-height:400px}.window{width:150px;height:300px}.people{bottom:65px;gap:10px}.people i{width:34px}.purpose{width:calc(100% - 40px)}.features,.login-section{padding-right:20px;padding-left:20px}.feature-grid{grid-template-columns:1fr}.feature-grid article{min-height:240px}.section-heading{margin-bottom:38px}.purpose h2,.section-heading h2{font-size:30px}}
