@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:ital,wght@0,400;0,500;1,400&family=Noto+Sans+KR:wght@400;500;700&display=swap');
:root{--ink:#173f38;--cream:#faf8ef;--soft:#e8ede2;--gold:#edca7c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans','Noto Sans KR',sans-serif}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:5px}button{cursor:pointer}header{max-width:1280px;margin:auto;padding:25px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #173f3820;gap:24px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-weight:700;font-size:21px;line-height:1.2}.brand svg{width:46px}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:6px}nav{display:flex;gap:28px;align-items:center}nav a{font-size:14px;text-decoration:none}nav button{background:none;border:1px solid #173f3840;border-radius:30px;padding:6px 14px;color:var(--ink)}main>section{max-width:1280px;padding:95px 40px;margin:auto}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding-top:70px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;margin:0 0 25px}h1,h2,h3{font-family:'Fraunces','Noto Sans KR',serif;font-weight:400;line-height:1.08;margin:0 0 26px}h1{font-size:clamp(44px,5.2vw,70px);letter-spacing:-2px}h2{font-size:clamp(35px,4vw,52px);letter-spacing:-1px}h3{font-size:29px;letter-spacing:-.6px}em{font-weight:400;color:#537f6d}.lead{font-size:18px;max-width:550px}p{margin-top:0}.actions{display:flex;gap:25px;align-items:center;margin-top:30px;flex-wrap:wrap}.button{display:inline-block;background:var(--ink);color:white;border:0;border-radius:30px;padding:14px 23px;text-decoration:none;font-size:14px;font-weight:600}.light{background:var(--cream);color:var(--ink)}.status{font-size:12px;margin:25px 0 0;display:flex;align-items:center;gap:10px}.status:before{content:'';width:7px;height:7px;border-radius:50%;background:#809866}.art-wrap{position:relative;padding-bottom:20px}.harbor-art{width:100%;display:block}.art-note{position:absolute;bottom:0;left:30%;background:var(--cream);padding:9px 20px;box-shadow:0 7px 30px #173f3815;border-radius:30px;font:italic 19px 'Fraunces',serif}.ribbon{background:var(--ink);color:var(--cream);display:flex;justify-content:center;gap:70px;padding:24px;font-family:'Fraunces',serif;font-size:23px}.ribbon span:nth-child(even){color:var(--gold)}.section-intro{max-width:610px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px}.program{padding:34px;background:var(--soft);border-radius:4px}.program:nth-child(2){background:#f0dfbb}.program:nth-child(3){background:#e4e8ee}.number{display:block;font:40px 'Fraunces',serif;color:#173f3840;margin-bottom:30px}.program .eyebrow{font-size:10px;letter-spacing:1px}.program p{font-size:15px}.program a{font-size:14px}.story{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-block:1px solid #173f3820}.signature{font-family:'Fraunces',serif;margin-top:34px;font-size:20px}.signature span{display:block;font:12px 'DM Sans',sans-serif;margin-top:7px}.involve-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:35px}.involve-grid article{background:var(--ink);color:var(--cream);padding:40px;border-radius:4px}.involve-grid article:nth-child(2){background:#466b5c}.updates{background:#edf0e7}.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.notes span{font-size:12px;border-top:1px solid #173f3860;display:block;padding-top:20px;margin-bottom:20px}.notes h3{font-size:26px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact form{display:flex;flex-direction:column;gap:10px}label{font-size:13px}input,textarea,select{width:100%;border:1px solid #173f3850;background:transparent;padding:11px;color:var(--ink);border-radius:3px}textarea{resize:vertical}.contact form .button{align-self:flex-start;margin-top:12px}.fine{font-size:12px;line-height:1.6;color:#47685e}footer{max-width:1280px;margin:auto;padding:40px;border-top:1px solid #173f3830}footer>div{display:flex;gap:25px;margin:20px 0;font-size:13px}.detail{max-width:940px;margin:auto;padding:90px 40px 120px;min-height:70vh}.detail h1{font-size:56px}.detail h2{margin-top:45px;font-size:35px}.notice{padding:30px;background:var(--soft);margin:35px 0}.back{display:block;margin-top:20px}.skip,.sr{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.skip:focus{clip:auto;width:auto;height:auto;z-index:100;background:white;padding:10px}#chat-launch{position:fixed;bottom:24px;right:24px;border:0;border-radius:30px;padding:15px 23px;background:var(--ink);color:white;box-shadow:0 4px 20px #0002;z-index:5}#chat{position:fixed;bottom:88px;right:24px;width:380px;max-height:70vh;border:1px solid #173f3830;background:#fafcf8;border-radius:15px;box-shadow:0 20px 60px #173f3825;z-index:6;overflow:auto}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid #173f3820}.chat-head button{border:0;background:none;font-size:25px;color:var(--ink)}.chat-label{padding:10px 18px;margin:0}#chat-log{padding:10px 18px;min-height:130px;max-height:270px;overflow:auto}.bubble{padding:13px;background:#e7eee7;border-radius:10px;margin-bottom:10px;font-size:14px;white-space:pre-line}.bubble.user{background:var(--ink);color:white;margin-left:25px}.chat-options{display:flex;flex-wrap:wrap;gap:6px;padding:10px 18px}.chat-options button{border:1px solid #173f3830;border-radius:20px;padding:7px 10px;background:white;color:var(--ink);font-size:12px}#chat-form{display:flex;gap:8px;padding:15px;border-top:1px solid #173f3820}#chat-form input{font-size:13px}#chat-form button{border:0;background:var(--ink);color:white;border-radius:6px;padding:8px 14px}
@media(max-width:800px){header{padding:18px 22px}nav{gap:15px}nav a{display:none}.hero{grid-template-columns:1fr;gap:35px;padding-top:45px}.hero .art-wrap{max-width:480px}.ribbon{gap:18px;padding:20px 12px;font-size:16px}.program-grid,.notes{grid-template-columns:1fr}.story,.contact,.involve-grid{grid-template-columns:1fr;gap:28px}main>section{padding:65px 24px}.program{padding:30px}h1{letter-spacing:-1px}.detail{padding:65px 24px}.detail h1{font-size:42px}footer{padding:30px 24px}#chat{width:calc(100% - 32px);right:16px;bottom:82px;max-height:75vh}#chat-launch{right:16px;bottom:16px}.contact{padding-bottom:100px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
