:root{--ink:#244333;--green:#285e46;--cream:#fff3e5;--paper:#fffaf4;--peach:#f4ddc4;--muted:#596b5d;--line:#dfd4c3;--lime:#dce8b5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;font-size:16px;line-height:1.75;overflow-wrap:break-word}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:wait}a,button,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #aa5d25;outline-offset:5px}a:hover{text-decoration:underline;text-underline-offset:5px}.btn:hover{text-decoration:none;background:#1e4b37;color:white}.wrap{max-width:1200px;margin:auto;padding:0 30px}.skip-link{position:fixed;top:10px;left:16px;transform:translateY(-160%);z-index:20;background:var(--green);color:white;padding:12px 20px;border-radius:6px}.skip-link:focus{transform:none}
header{background:#fff3e5f5;position:sticky;top:0;z-index:4;border-bottom:1px solid #2443331c;backdrop-filter:blur(12px)}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:900;letter-spacing:-1px;white-space:nowrap}.logo img{display:block;width:60px;height:48px;object-fit:contain;flex-shrink:0}nav{display:flex;gap:23px;font-size:14px;font-weight:bold}nav a{padding:12px 0;white-space:nowrap}nav a[aria-current=location]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px}.menu{display:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid var(--green);border-radius:7px;padding:12px 22px;font-weight:bold;font-size:14px;line-height:1.6;background:var(--green);color:white;transition:background .15s,color .15s}.outline{background:transparent;color:var(--green)}.header-call{white-space:nowrap;padding:10px 17px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.8px;color:#526b54}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;padding-top:64px;padding-bottom:65px;align-items:center}h1{font-size:clamp(38px,4.6vw,60px);line-height:1.3;letter-spacing:-2.5px;margin:22px 0}h1 em{font-style:normal;color:#668348}.hero p{color:var(--muted);font-size:16px;margin-bottom:26px}.actions{display:flex;gap:10px;flex-wrap:wrap}.hero-contact{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:25px;font-size:13px;color:var(--muted)}.hero-contact a{font-size:17px;color:var(--green);font-weight:800}.art{position:relative;background:var(--peach);border-radius:110px 14px 14px 14px;min-height:435px;overflow:hidden;display:grid;place-items:center}.art svg{width:100%;max-width:470px}.art-label{position:absolute;bottom:22px;right:22px;background:#fff8ed;padding:12px 20px;box-shadow:0 6px 20px #203f3110;border-radius:6px;font-size:13px}.art-label strong{color:#56723e}.strip{background:var(--green);color:#fff}.strip .wrap{display:grid;grid-template-columns:repeat(3,1fr);padding-top:24px;padding-bottom:24px}.strip a{padding:0 30px;border-right:1px solid #ffffff30;display:flex;align-items:center;justify-content:space-between;font-weight:bold}.strip a:first-child{padding-left:0}.strip a:last-child{border:0;padding-right:0}.strip small{display:block;font-size:11px;letter-spacing:1px;font-weight:normal;color:#d7e3cf}
section{padding:80px 0}h2{font-size:34px;letter-spacing:-1.4px;line-height:1.45;margin:12px 0 20px}h3{line-height:1.5}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.intro p{color:var(--muted);margin:12px 0}.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.tags span{border:1px solid #c7ceb9;border-radius:25px;font-size:13px;padding:5px 15px}.white{background:var(--paper)}.section-top{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:30px}.section-top p{color:var(--muted);font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{border:1px solid var(--line);border-radius:12px;padding:30px;background:var(--cream)}.icon{font-size:29px}.card h3{font-size:21px;margin:15px 0 10px}.card p{font-size:14px;color:var(--muted)}.card small{font-weight:bold;color:#55723e}.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:35px;border-top:1px solid #bfcbb5}.step{padding:25px 22px 10px 0}.step b{font-size:13px;color:#55723e}.step h3{font-size:18px;margin:16px 0 10px}.step p{font-size:14px;color:var(--muted)}.note{font-size:13px;color:var(--muted);margin-top:20px}.help{background:var(--peach);border-radius:14px;padding:44px 46px;display:grid;grid-template-columns:1fr 1fr;gap:40px}.help p{font-size:14px;color:var(--muted)}.help ol{font-size:15px;padding-left:23px}.help li{padding:8px}.dream-info{margin-top:24px;padding:30px 36px;border:1px solid #e2c6a6;background:var(--paper);border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:25px}.dream-info h3{font-size:24px;margin:8px 0 12px}.dream-info p{font-size:14px;color:var(--muted);margin:0}.dream-info .btn{flex-shrink:0}.faq{max-width:850px;margin:auto}details{border-bottom:1px solid var(--line);padding:21px 0}summary{cursor:pointer;font-size:16px;font-weight:bold;padding-right:12px}details p{font-size:14px;color:var(--muted);padding-left:20px;max-width:75ch}
.directions-box{display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--paper);border:1px solid #e5cfb4;border-radius:14px;padding:36px 40px}.directions-box h3{font-size:24px;margin:0 0 15px}.directions-box p{font-size:15px}.directions-address{font-style:normal;font-size:18px;max-width:530px;line-height:1.9}.directions-actions{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.directions-actions .btn{width:100%}.contact{background:var(--green);color:white;padding:65px 0}.contact .wrap{display:grid;grid-template-columns:.9fr 1.4fr;align-items:center;gap:50px}.contact p{color:#e1e9db;font-size:14px}.contact .eyebrow{color:#dce8b5}.contact-box{border-left:1px solid #ffffff40;padding-left:35px;display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:center;gap:24px}.contact-copy strong{display:block;font-size:18px;line-height:1.6}.contact-copy p{line-height:1.95}.chairperson-photo{display:block;width:160px;height:auto;max-width:100%;border-radius:8px;justify-self:end}.contact-phone{display:inline-block;font-size:clamp(26px,3.2vw,37px);font-weight:800;letter-spacing:-1px;margin:2px 0 10px}.contact-actions{display:flex;flex-wrap:wrap;gap:8px}.contact-actions .btn{border-color:#e1e9db;color:#fff;background:transparent;min-height:44px;padding:9px 14px;font-size:13px}.contact-actions .btn:hover{background:#fff3e5;color:var(--green)}.contact address{font-style:normal;font-size:14px;color:#e1e9db}.contact-copy .role{color:white;font-size:16px}.contact-box .credentials{font-size:12px;margin-top:3px}footer{padding:30px 0;background:#193e2b;color:#d4dfcf;font-size:12px}.foot{display:flex;justify-content:space-between;gap:24px}.footer-contact{line-height:1.9}.footer-top{display:block;text-align:right;margin-top:8px;font-size:13px}.mobile-contact{display:none}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,16px);z-index:20;background:#193e2b;color:white;padding:12px 22px;border:1px solid #ffffff55;border-radius:9px;box-shadow:0 5px 24px #18392826;max-width:calc(100% - 32px);width:max-content;font-size:14px;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s}.toast.visible{opacity:1;transform:translate(-50%,0)}
#news-grid img{width:100%;height:220px;object-fit:cover;border-radius:8px}#news-grid button{text-align:left;color:inherit;width:100%}#news-grid .card{padding:15px}#news-grid .card:hover{border-color:var(--green)}#news-grid h3{margin:12px 0 5px}#news-grid p{white-space:pre-wrap}#news-status:empty,#schedule-status:empty{display:none}dialog{border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--ink);padding:28px;width:min(650px,94vw);max-height:90vh;overflow:auto}dialog::backdrop{background:#14281dcc}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-top h2{font-size:25px}.close-dialog{border:0;background:transparent;font-size:32px;color:var(--ink);min-width:44px;min-height:44px}label{display:block;font-size:14px;font-weight:bold;margin:15px 0}input,textarea{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #b9b8a8;border-radius:6px;background:white;color:var(--ink)}#photo-previews{display:flex;gap:8px;flex-wrap:wrap}#photo-previews img{width:85px;height:85px;object-fit:cover;border-radius:5px}#detail-description{white-space:pre-wrap}#detail-photos img{display:block;width:100%;height:auto;margin:14px 0;border-radius:6px}.schedule-scroll{overflow-x:auto;border-radius:10px;border:1px solid var(--line)}.schedule-table{width:100%;border-collapse:collapse;background:var(--paper);min-width:690px;font-size:14px}.schedule-table th{background:#f0dec7;text-align:left;padding:17px 18px;white-space:nowrap}.schedule-table td{padding:20px 18px;border-bottom:1px solid #e9dccb;white-space:pre-wrap}.schedule-table td:nth-child(1),.schedule-table td:nth-child(3){white-space:nowrap}.schedule-table button{background:transparent;color:var(--green);border:1px solid #b9c3a8;padding:8px 10px;border-radius:5px;margin:3px;min-height:44px}.schedule-times{display:grid;grid-template-columns:1fr 1fr;gap:18px}.schedule-table caption{text-align:left}.table-hint{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:1100px){.nav{min-height:76px}.header-call{margin-left:auto}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);padding:14px 30px 22px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #24433310;grid-template-columns:repeat(3,1fr);gap:6px 22px}nav.open{display:grid}nav a{padding:10px}.menu{display:block;min-height:44px;min-width:58px;border:1px solid #aebca5;border-radius:6px;background:transparent;color:var(--green);padding:6px 12px;font-weight:bold}.contact .wrap{grid-template-columns:1fr 1.25fr;gap:30px}.contact-box{padding-left:28px;grid-template-columns:1fr}.chairperson-photo{justify-self:start;width:120px}.hero{gap:35px}h1{font-size:48px}.art{min-height:390px}.intro{gap:40px}}
@media(max-width:800px){html{scroll-padding-top:92px}.wrap{padding-left:22px;padding-right:22px}.nav{gap:14px}.logo{font-size:21px}.logo img{width:50px;height:40px}.header-call{display:none}.menu{margin-left:auto}.hero{grid-template-columns:1fr;gap:28px;padding-top:38px;padding-bottom:40px}h1{font-size:44px;letter-spacing:-1.9px}.hero p{margin-bottom:22px}.hero-contact{margin-top:20px}.art{min-height:300px;max-height:355px;border-top-left-radius:85px}.art svg{max-height:350px}.strip .wrap{grid-template-columns:1fr;padding-top:9px;padding-bottom:9px}.strip a,.strip a:first-child,.strip a:last-child{padding:13px 0;border-right:0;border-bottom:1px solid #ffffff30}.strip a:last-child{border-bottom:0}.intro,.cards,.help{grid-template-columns:1fr;gap:22px}.steps{grid-template-columns:1fr 1fr;gap:15px}.section-top{display:block}.section-top>.btn{margin-top:10px}.contact .wrap{display:block}.contact-box{border-left:0;border-top:1px solid #ffffff40;padding:28px 0 0;margin-top:30px;grid-template-columns:minmax(0,1fr) 150px}.chairperson-photo{width:150px;justify-self:end}section{padding:55px 0}h2{font-size:29px}.help{padding:28px}.dream-info{display:block;padding:26px}.dream-info .btn{margin-top:20px}.directions-box{display:block;padding:27px}.directions-actions{margin-top:25px;display:grid;grid-template-columns:1fr 1fr}.directions-actions button{grid-column:1/-1}.foot{display:block}.footer-top{text-align:left}.footer-contact{margin-top:18px}footer{padding-bottom:105px}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;gap:1px;position:fixed;bottom:0;left:0;right:0;z-index:5;background:#d9d9c9;border-top:1px solid #b9c7b1;padding-bottom:env(safe-area-inset-bottom)}.mobile-contact a{display:block;background:var(--paper);text-align:center;padding:14px 8px;font-size:14px;font-weight:800}.mobile-contact a:first-child{background:var(--green);color:white}.toast{bottom:84px}.table-hint{display:block;font-size:12px;color:var(--muted);margin:0 0 8px}.schedule-scroll:focus-visible{outline:3px solid #aa5d25;outline-offset:4px}}
@media(max-width:480px){body{font-size:15px}.logo{font-size:19px;gap:6px}.logo img{width:45px;height:37px}.nav{min-height:70px;gap:8px}nav{grid-template-columns:1fr 1fr;padding:12px 14px 18px;font-size:14px}h1{font-size:38px;letter-spacing:-1.8px}.eyebrow{letter-spacing:1px;font-size:11px}.hero .actions{display:grid;grid-template-columns:1fr}.hero .actions .btn{width:100%}.art{min-height:270px}.art-label{right:14px;bottom:14px;padding:9px 12px;font-size:12px}.card{padding:24px}.step{padding-right:5px}.step h3{font-size:16px}.step p{font-size:13px}.contact-box{grid-template-columns:1fr;gap:20px}.chairperson-photo{justify-self:start;width:120px}.directions-actions{grid-template-columns:1fr}.directions-address{font-size:16px}.directions-box{padding:24px}.contact-phone{font-size:31px}.schedule-times{grid-template-columns:1fr;gap:0}dialog{padding:20px}.dialog-top h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
