:root { --ink:#274539; --ink-soft:#526b5d; --muted:#73857a; --accent:#b67858; --line:#dfe7df; --paper:#fbfcfa; --sage:#617d6a; --cream:#f3ede4; --ease:cubic-bezier(.18,.75,.22,1); }
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family: "Apple SD Gothic Neo","Pretendard","Noto Sans KR","Malgun Gothic",system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #e4ab7e;outline-offset:4px}img{max-width:100%;display:block}p,h1,h2,h3{margin:0}.wrap{width:min(1240px,calc(100% - 84px));margin-inline:auto}.skip-link{position:absolute;transform:translateY(-200%);z-index:200;background:#fff;padding:12px}.skip-link:focus{transform:translateY(0)}.period{color:#ae775a}
.preview-notice{min-height:33px;background:#f2f1eb;text-align:center;display:flex;align-items:center;justify-content:center;gap:9px;color:#748275;font-size:11px;letter-spacing:.01em}.preview-dot{width:6px;height:6px;background:#a0b7a0;border-radius:50%}.notice-sep{color:#abb7ab}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(223,230,221,.8);backdrop-filter:blur(18px)}.header-container{height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;align-items:center;gap:18px;flex-shrink:0}.brand-type{display:flex;gap:1px;align-items:center;letter-spacing:-3px;font-size:39px;font-weight:950;line-height:1;font-family:Arial,Helvetica,sans-serif}.brand-type b:nth-child(1){color:#efba31}.brand-type b:nth-child(2){color:#79b97b}.brand-type b:nth-child(3){color:#5ac0c6}.brand-type b:nth-child(4){color:#6f92d2}.brand-sub{font-weight:750;font-size:15px;letter-spacing:-.04em;line-height:1.35}.brand-sub span{display:block;margin-top:4px;font-size:7.5px;font-weight:700;letter-spacing:.08em;color:#819387}.desktop-nav{display:flex;gap:clamp(13px,2.2vw,34px);align-items:center;justify-content:center;margin-left:auto}.desktop-nav a{font-size:13px;font-weight:650;white-space:nowrap;position:relative;padding:10px 0}.desktop-nav a:after{content:"";position:absolute;bottom:4px;left:0;width:0;height:1px;background:var(--ink);transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-actions{display:flex;gap:10px;align-items:center}.header-contact{font-weight:700;font-size:12px;border:1px solid #d1dfd5;border-radius:40px;padding:13px 16px;white-space:nowrap}.header-contact span{padding-left:9px}.menu-toggle{display:none;position:relative;width:42px;height:42px;border:0;background:none;cursor:pointer;padding:9px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0;transition:transform .2s,opacity .2s}.mobile-nav[hidden]{display:none!important}
.hero{background:linear-gradient(120deg,#f6f8f4 0%,#e8efe7 62%,#dce8de 100%);position:relative;overflow:hidden}.hero::after{content:"";position:absolute;width:420px;height:420px;background:radial-gradient(circle,#d5e1d4 0%,transparent 68%);left:-270px;top:25%;pointer-events:none}.hero-inner{min-height:630px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:10px}.hero-copy{position:relative;z-index:2;padding:78px 0 68px}.eyebrow{font-size:11px;line-height:1.4;letter-spacing:.15em;font-weight:800;color:#7a8d80}.eyebrow-line{display:inline-block;width:20px;height:1px;background:#b5795d;vertical-align:middle;margin-right:8px}.hero h1{font-size:clamp(52px,5.8vw,80px);line-height:1.16;letter-spacing:-.072em;font-weight:780;margin:25px 0 32px}.hero h1>span{font-weight:830}.hero-lead{font-size:22px;font-weight:720;line-height:1.6;letter-spacing:-.045em}.hero-description{font-size:15px;line-height:1.9;color:#718579;margin-top:18px;letter-spacing:-.03em}.hero-cta{display:flex;align-items:center;gap:25px;margin-top:42px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:23px;padding:17px 23px;font-size:13px;font-weight:750;border-radius:3px;white-space:nowrap;transition:transform .25s var(--ease),background .25s}.btn:hover{transform:translateY(-3px)}.btn-dark{background:var(--ink);color:#fff}.btn-dark svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.5}.text-cta{font-size:13px;font-weight:650;border-bottom:1px solid #8ba091;padding-bottom:7px}.text-cta span{margin-left:9px}.hero-art-wrap{align-self:stretch;min-height:550px;display:flex;align-items:center;justify-content:center;position:relative}.hero-art{width:min(650px,110%);max-width:none;transform:rotate(-2deg) translate(15px,13px);filter:saturate(.91)}.art-caption{position:absolute;font:700 10px Arial,sans-serif;letter-spacing:.2em;color:#92a293}.art-caption-top{top:85px;right:0}.art-caption-bottom{bottom:85px;right:25px}.hero-bottom{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #d9e4d9;position:relative;z-index:2}.hero-tags{display:flex;flex-wrap:wrap;gap:0}.hero-tags span{font-size:12px;font-weight:600;color:#6c8072}.hero-tags span+span:before{content:"/";color:#a4b4a7;margin:0 19px}.weather{min-height:42px;display:flex;align-items:center;gap:10px;color:#4e6b58;font-size:12px}.weather-icon{font-size:23px;line-height:1;color:#859d87}.weather strong{font-weight:720}.weather-data{border-left:1px solid #c5d5c8;padding-left:10px;color:#708573}
.section{padding:105px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:37px}.eyebrow-accent{color:var(--accent)}.section h2{font-size:clamp(30px,3.2vw,42px);font-weight:760;letter-spacing:-.06em;line-height:1.36;margin-top:16px}.section-desc{color:#7e8c82;font-size:15px;line-height:1.7;margin-top:13px}.section-side-label{font-size:10px;font-weight:750;letter-spacing:.13em;color:#9cad9f;white-space:nowrap;padding-bottom:8px}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.program-card{min-height:248px;display:flex;flex-direction:column;justify-content:space-between;padding:35px 34px 32px;border:1px solid #e4e9e0;border-radius:7px;transition:transform .25s var(--ease),box-shadow .25s var(--ease);overflow:hidden}.program-card:hover{transform:translateY(-5px);box-shadow:0 18px 34px #33493613}.program-hobby{background:#eaf1e9}.program-cert{background:#f6f1e7}.program-teach{background:#f4ece9}.card-number{font-family:Arial,sans-serif;color:#a9745d;font-size:20px;font-weight:800;letter-spacing:.03em}.card-number span{font-size:11px;letter-spacing:.17em;padding-left:8px}.card-bottom{display:flex;justify-content:space-between;align-items:end;gap:12px}.card-bottom strong{font-size:clamp(27px,2.6vw,37px);letter-spacing:-.06em;display:block;line-height:1.2}.card-bottom small{font-size:14px;color:#819084;display:block;letter-spacing:-.045em;margin-top:13px}.arrow-circle{display:grid;place-items:center;width:55px;height:55px;flex:0 0 55px;background:#fffefa;border:1px solid #dfe8df;border-radius:50%;font-size:25px;font-weight:250;color:#547761}.program-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}.small-program-detail{display:flex;gap:16px;padding:0 8px}.small-program-detail>span{font:800 12px Arial;color:#af8b79;padding-top:6px}.small-program-detail h3{font-size:16px;letter-spacing:-.04em}.small-program-detail p{font-size:12.5px;line-height:1.8;color:#8b9a8f;margin-top:8px}.small-program-detail:target{outline:2px dashed #a9bdaa;outline-offset:10px;border-radius:2px}
.current-section{padding-top:5px;padding-bottom:105px}.current-panel{border-radius:5px;min-height:286px;background:#e9eee8;display:flex;align-items:center;justify-content:space-between;padding:60px 64px;gap:32px;position:relative;overflow:hidden}.current-copy{position:relative;z-index:2}.current-section h2{margin-top:15px}.current-copy>p:not(.eyebrow){color:#78897c;font-size:14px;line-height:1.8;margin-top:13px}.current-copy .fine-print{font-size:11px!important;margin-top:12px!important;color:#94a194!important}.btn-outline{border:1px solid #496b54;color:#31523e;position:relative;z-index:2;background:#e8efe8;padding:18px 25px}.btn-outline:hover{background:#dce7dc}.current-decor{position:absolute;right:0;bottom:-30px;display:flex;flex-direction:column;font:900 72px/.9 Arial,sans-serif;letter-spacing:-.05em;color:#dce6da;user-select:none;pointer-events:none;opacity:.7}
.gallery-section{background:#fafbf9}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-grid figure{margin:0;min-width:0}.gallery-image{aspect-ratio:1.21;overflow:hidden;background:#edf0eb}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}.gallery-grid figure:hover img{transform:scale(1.035)}.gallery-grid figcaption{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:19px}.gallery-grid figcaption span{font:700 10px Arial,sans-serif;letter-spacing:.1em;color:#b18d78}.gallery-grid figcaption strong{font-size:15px;letter-spacing:-.05em}.gallery-notice{font-size:11px;color:#98a398;margin-top:31px;line-height:1.7}
.contact-section{background:#577465;color:#fff;padding:96px 0}.contact-inner{display:flex;align-items:end;justify-content:space-between;gap:30px}.contact-section .eyebrow{color:#cbddd0}.contact-section h2{font-size:clamp(28px,3.3vw,43px);line-height:1.45;letter-spacing:-.06em;margin-top:18px}.contact-section .period{color:#dfb09b}.contact-section p:last-child{font-size:13px;color:#c5d7c9;margin-top:21px}.contact-call{display:flex;flex-direction:column;border-bottom:1px solid #a2b6a7;padding-bottom:17px;font-size:13px;font-weight:700;line-height:1.5;min-width:235px}.contact-call span{display:inline;margin-left:7px}.contact-call strong{font:700 25px Arial,sans-serif;margin-top:8px}.site-footer{background:#f8faf7;padding:44px 0 50px}.footer-row{display:flex;justify-content:space-between;gap:30px}.footer-row>div:first-child{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 12px}.footer-brand{font-weight:900;font-size:24px;letter-spacing:-.07em;color:#6f9a7d}.footer-row strong{font-size:14px}.footer-row p{flex-basis:100%;font-size:12px;color:#88978b;line-height:1.9;margin-top:7px}.footer-right{display:flex;flex-direction:column;gap:12px;align-items:end;font-size:10px;color:#9aa99c;letter-spacing:.07em}.footer-right a{color:var(--ink);font-size:12px;font-weight:700}.footer-right .footer-preview{color:#b17c64;font-size:11px;letter-spacing:0}
@media(max-width:1120px){.header-container{height:78px}.brand-sub span{display:none}.desktop-nav{gap:15px}.desktop-nav a{font-size:12px}.brand-type{font-size:33px}.header-contact{padding:11px 13px}.program-card{padding:29px 23px}.card-number{font-size:18px}.card-number span{font-size:9px}}
@media(max-width:860px){.wrap{width:min(100% - 48px,700px)}.header-container{height:70px}.desktop-nav,.header-contact{display:none}.menu-toggle{display:block}.brand-type{font-size:35px}.brand-sub{font-size:13px}.mobile-nav{background:#fff;border-top:1px solid var(--line);padding:14px 24px 26px;box-shadow:0 20px 30px #203a2a12}.mobile-nav a{display:flex;justify-content:space-between;align-items:center;padding:15px 4px;font-size:16px;font-weight:700;border-bottom:1px solid #eaf0e9}.mobile-nav a span{color:#acb9ae;font-size:11px;font-family:Arial}.site-header.menu-open .menu-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-header.menu-open .menu-toggle span:nth-child(2){opacity:0}.site-header.menu-open .menu-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.hero-inner{min-height:unset;grid-template-columns:1fr;gap:0}.hero-copy{padding:60px 0 0}.hero h1{font-size:clamp(52px,8vw,70px)}.hero-art-wrap{min-height:0;height:390px;margin-top:-10px}.hero-art{width:min(520px,100%);transform:rotate(-3deg) translate(10px,8px)}.art-caption-top{top:24px}.art-caption-bottom{bottom:25px}.hero-bottom{min-height:74px}.hero-tags span{font-size:11px}.hero-tags span+span:before{margin:0 9px}.section{padding:72px 0}.section-heading{align-items:start}.section-side-label{display:none}.program-grid{grid-template-columns:1fr;gap:12px}.program-card{min-height:172px;padding:24px 27px}.card-number{font-size:18px}.card-number span{font-size:10px}.card-bottom strong{font-size:30px}.card-bottom small{margin-top:5px}.arrow-circle{width:48px;height:48px;flex-basis:48px}.program-detail-grid{gap:16px}.small-program-detail{gap:8px}.small-program-detail p{font-size:11px}.current-section{padding-top:0;padding-bottom:72px}.current-panel{padding:38px;min-height:240px}.current-decor{font-size:53px}.gallery-grid{gap:12px}.gallery-grid figcaption{display:block}.gallery-grid figcaption strong{display:block;margin-top:8px}.contact-inner{align-items:start;flex-direction:column}.contact-call{margin-top:10px}}
@media(max-width:560px){html{scroll-padding-top:80px}.wrap{width:calc(100% - 38px)}.preview-notice{font-size:10px;min-height:30px}.header-container{height:67px}.brand{gap:10px}.brand-type{font-size:32px}.brand-sub{font-size:12px}.hero-copy{padding:54px 2px 0}.hero .eyebrow{font-size:9px;letter-spacing:.1em}.eyebrow-line{width:15px;margin-right:6px}.hero h1{font-size:clamp(48px,12vw,62px);letter-spacing:-.075em;line-height:1.2;margin:25px 0 22px}.hero-lead{font-size:18px}.hero-description{font-size:13px;margin-top:12px;line-height:1.85}.desktop-only{display:none}.hero-cta{margin-top:28px;gap:12px;flex-wrap:wrap}.btn-dark{padding:15px 17px;font-size:12px;gap:13px}.text-cta{font-size:11px}.hero-art-wrap{height:310px;margin-top:-4px}.hero-art{width:min(400px,100%);transform:rotate(-3deg) translate(0,0)}.art-caption{font-size:8px}.art-caption-top{right:4px;top:2px}.art-caption-bottom{right:8px;bottom:10px}.hero-bottom{padding-block:17px;min-height:0;flex-direction:column;align-items:start;gap:12px}.hero-tags{gap:6px 0}.hero-tags span{font-size:10px}.hero-tags span+span:before{margin:0 9px}.weather{min-height:31px;border-top:1px solid #dce7db;width:100%;padding-top:13px;gap:9px;font-size:11px}.weather-icon{font-size:20px}.section{padding:68px 0}.section-heading{margin-bottom:26px}.section h2{font-size:30px}.section-desc{font-size:13px;margin-top:10px}.eyebrow{font-size:10px}.program-grid{gap:11px}.program-card{min-height:149px;padding:21px 23px}.card-number{font-size:15px}.card-number span{font-size:9px;padding-left:5px}.card-bottom strong{font-size:29px}.card-bottom small{font-size:12px;margin-top:5px}.arrow-circle{width:42px;height:42px;flex:0 0 42px;font-size:22px}.program-detail-grid{grid-template-columns:1fr;margin-top:25px;gap:17px}.small-program-detail{padding:0}.small-program-detail h3{font-size:14px}.small-program-detail p{margin-top:3px;font-size:12px}.current-section{padding-top:0;padding-bottom:64px}.current-panel{min-height:0;display:block;padding:35px 26px}.current-panel h2{font-size:27px}.current-copy>p:not(.eyebrow){font-size:13px}.btn-outline{margin-top:25px;font-size:12px;padding:13px 17px}.current-decor{font-size:47px;right:-15px;bottom:-14px}.gallery-section{padding-top:70px}.gallery-grid{grid-template-columns:1fr;gap:27px}.gallery-image{aspect-ratio:1.42}.gallery-grid figcaption{display:flex;margin-top:12px}.gallery-grid figcaption strong{margin:0}.gallery-notice{margin-top:25px}.contact-section{padding:68px 0}.contact-section h2{font-size:28px}.contact-section p:last-child{font-size:12px;line-height:1.7}.contact-call{margin-top:9px}.site-footer{padding:38px 0}.footer-row{display:block}.footer-right{align-items:start;margin-top:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* v2: official CCAA logo & fully navigable responsive drop-down menus */
.header-container{gap:18px}
.brand{gap:12px;min-width:0}
.brand-logo{width:128px;height:auto;max-width:none;object-fit:contain;flex:0 0 auto}
.brand-sub{font-size:14px;white-space:nowrap}
.brand-sub span{font-size:7px;letter-spacing:.08em}
.desktop-nav{gap:clamp(9px,1.4vw,22px);flex:1 1 auto;justify-content:flex-end;margin-left:10px}
.nav-entry{display:flex;align-items:center;position:relative;flex:0 0 auto}
.desktop-nav .nav-main{display:inline-block;font-size:13px;white-space:nowrap;font-weight:700;position:relative;padding:18px 0}
.desktop-nav .nav-main::after{content:"";position:absolute;bottom:12px;left:0;width:0;height:1px;background:var(--ink);transition:width .2s}
.desktop-nav .nav-main:hover::after,.desktop-nav .nav-main[aria-current="page"]::after{width:100%}
.nav-caret{background:transparent;border:0;padding:10px 0 10px 5px;margin:0;color:#789083;font-size:19px;cursor:pointer;line-height:1}
.nav-caret span{display:inline-block;transition:transform .2s}
.nav-entry:hover .nav-caret span,.nav-entry:focus-within .nav-caret span,.nav-entry.is-open .nav-caret span{transform:rotate(180deg)}
.nav-dropdown{position:absolute;top:100%;left:-17px;min-width:164px;padding:10px 6px;display:flex;flex-direction:column;background:#fff;border:1px solid #e3ebe3;border-radius:8px;box-shadow:0 15px 35px #1c392316;opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .18s,transform .18s,visibility .18s;z-index:60}
.nav-entry:hover .nav-dropdown,.nav-entry:focus-within .nav-dropdown,.nav-entry.is-open .nav-dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.desktop-nav .nav-dropdown a{display:block;padding:10px 12px;font-size:12px;color:#506a58;font-weight:650;white-space:nowrap;border-radius:5px}
.desktop-nav .nav-dropdown a:hover,.desktop-nav .nav-dropdown a:focus-visible,.desktop-nav .nav-dropdown a[aria-current="page"]{background:#eff4ee;color:#294939}
.desktop-nav .nav-dropdown a::after{display:none}
/* No unused empty header-actions box; mobile hamburger goes on the far right */
.menu-toggle{flex:0 0 44px}
@media(max-width:1180px){
 .desktop-nav{gap:11px}
 .desktop-nav .nav-main{font-size:12px}
 .brand-logo{width:118px}
 .brand-sub{font-size:12px}
 .brand-sub span{display:none}
}
@media(max-width:1120px){
 .desktop-nav{display:none}
 .menu-toggle{display:block;margin-left:auto}
 .mobile-nav{background:#fff;border-top:1px solid var(--line);box-shadow:0 20px 30px #203a2a12;max-height:calc(100dvh - 70px);overflow-y:auto;padding:10px max(24px,calc((100vw - 700px)/2)) 23px}
 .mobile-nav-inner{max-width:700px;margin-inline:auto}
 .mobile-menu-row{display:flex;align-items:stretch;border-bottom:1px solid #eaf0e9;min-height:52px}
 .mobile-menu-row>a{display:flex;align-items:center;flex:1;min-width:0;padding:12px 6px;font-size:15px;font-weight:700}
 .mobile-menu-row>a[aria-current="page"]{color:#a36b53}
 .mobile-sub-toggle{width:54px;min-height:48px;border:0;background:transparent;color:#4d705b;cursor:pointer;font-size:22px;display:grid;place-items:center}
 .mobile-sub-toggle span{transition:transform .2s}
 .mobile-sub-toggle[aria-expanded="true"] span{transform:rotate(180deg)}
 .mobile-submenu{display:flex;flex-direction:column;gap:2px;background:#f6f9f5;border-radius:5px;margin:3px 0 8px;padding:7px 10px}
 .mobile-submenu[hidden]{display:none!important}
 .mobile-submenu a{display:block;padding:11px 12px;font-size:14px;font-weight:550;color:#567262;border:0}
 .mobile-submenu a[aria-current="page"]{color:#a46d54;font-weight:800}
}
@media(max-width:560px){
 .brand-logo{width:118px}
 .brand-sub{font-size:12px;letter-spacing:-.04em}
 .mobile-nav{padding:10px 19px 24px;max-height:calc(100dvh - 67px)}
}
@media(max-width:375px){.brand-logo{width:104px}.brand-sub{font-size:11px}.brand{gap:7px}}
/* Sub-page holding layouts: no invented course records or student artwork */
.page-hero{background:linear-gradient(120deg,#f6f8f4,#e7eee5);padding:94px 0 72px}
.page-breadcrumb{color:#76907d;font-size:12px;margin-bottom:25px;display:flex;gap:10px;align-items:center}
.page-breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.page-hero .eyebrow{color:#ac795d}
.page-hero h1{font-size:clamp(38px,5vw,64px);letter-spacing:-.065em;line-height:1.2;margin-top:18px}
.page-hero p:last-child{margin-top:20px;color:#68806f;font-size:15px;line-height:1.8}
.page-content{min-height:370px;padding:65px 0 100px}
.page-note{background:#f6f8f5;border:1px solid #e6eee6;padding:33px;border-radius:7px;max-width:760px}
.page-note h2{font-size:22px;letter-spacing:-.05em;margin-bottom:12px}
.page-note p{font-size:14px;line-height:1.9;color:#708775}
.page-jump-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;max-width:900px;margin-top:24px}
.page-jump-links a{display:flex;justify-content:space-between;align-items:center;background:#fff;border:1px solid #dae5dc;border-radius:6px;padding:18px;color:#315443;font-weight:700;font-size:14px}
.page-jump-links a:hover{background:#eff6ef}
@media(max-width:560px){.page-hero{padding:52px 0 50px}.page-content{padding:40px 0 75px;min-height:330px}.page-note{padding:25px}}

/* Consistent, font-independent dropdown chevrons */
.nav-caret .chevron,.mobile-sub-toggle .chevron{display:inline-block;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.nav-entry:hover .nav-caret .chevron,.nav-entry:focus-within .nav-caret .chevron,.nav-entry.is-open .nav-caret .chevron,.mobile-sub-toggle[aria-expanded="true"] .chevron{transform:translateY(2px) rotate(-135deg)}


/* v3: refined responsive layout and text-only menus (no caret/triangle icons). */
:root{--subtle-ink:#60776a}
.site-header{background:rgba(255,255,255,.95);transition:background .25s,box-shadow .25s,border-color .25s}
.site-header.is-scrolled{box-shadow:0 9px 24px rgba(38,67,48,.065);border-color:rgba(215,225,216,.94)}
.header-container{height:84px;gap:22px}
.brand{transition:opacity .22s}
.brand:hover{opacity:.83}
.brand-logo{width:129px}
.brand-sub{font-size:14px;line-height:1.3}
.desktop-nav{gap:clamp(12px,1.55vw,27px);margin-left:auto;flex:0 1 auto}
.desktop-nav .nav-main{padding:29px 0;font-size:13px;letter-spacing:-.025em;font-weight:700;transition:color .2s}
.desktop-nav .nav-main:hover,.nav-entry:focus-within>.nav-main,.nav-entry-current>.nav-main{color:#b27756}
.desktop-nav .nav-main::after{bottom:20px;height:2px;border-radius:2px;background:#b97959}
.nav-entry:hover .nav-main::after,.nav-entry:focus-within .nav-main::after,.nav-entry-current .nav-main::after{width:100%}
.nav-dropdown{top:calc(100% - 7px);left:50%;transform:translate(-50%,11px);min-width:195px;padding:9px;border:1px solid rgba(210,223,211,.95);border-radius:13px;box-shadow:0 21px 50px rgba(38,64,45,.15);background:rgba(255,255,255,.98);backdrop-filter:blur(14px)}
.nav-entry:hover .nav-dropdown,.nav-entry:focus-within .nav-dropdown{transform:translate(-50%,0)}
.desktop-nav .nav-dropdown a{padding:12px 13px;font-size:13px;font-weight:600;border-radius:7px;letter-spacing:-.02em}
.desktop-nav .nav-dropdown a:hover,.desktop-nav .nav-dropdown a:focus-visible,.desktop-nav .nav-dropdown a[aria-current="page"]{background:#edf3ec;color:#345442}
/* Invisible desktop triangles are removed from markup entirely. */
@media(min-width:1121px){.menu-toggle{display:none}}
@media(min-width:1121px) and (max-width:1270px){
 .header-container{gap:12px}
 .brand-logo{width:112px}
 .brand{gap:8px}
 .brand-sub{font-size:12px}
 .desktop-nav{gap:clamp(10px,1vw,15px)}
 .desktop-nav .nav-main{font-size:12px}
}
@media(max-width:1120px){
 .site-header{position:sticky}
 .header-container{height:73px}
 .brand-logo{width:126px}
 .brand-sub{font-size:13px}
 .menu-toggle{display:block;width:46px;height:46px;border:1px solid #e4ebe3;background:#f9fbf8;border-radius:11px;padding:11px;flex:0 0 46px;transition:background .2s}
 .menu-toggle span{height:1.5px;margin:5px 0;border-radius:2px}
 .site-header.menu-open .menu-toggle{background:#eaf1e8}
 .mobile-nav{position:absolute;left:0;right:0;top:100%;background:linear-gradient(160deg,#fff 0%,#f4f8f3 100%);border-top:1px solid #e8eee6;box-shadow:0 26px 46px rgba(30,55,38,.13);max-height:calc(100dvh - 74px);overflow:auto;overscroll-behavior:contain;padding:28px max(24px,calc((100vw - 680px)/2)) 36px;animation:navAppear .22s ease-out both}
 .mobile-nav-inner{max-width:680px;margin:auto}
 .mobile-nav-heading{border-bottom:1px solid #dde8dc;padding:0 3px 24px;display:flex;flex-direction:column;gap:8px}
 .mobile-nav-heading>span{font-size:10px;letter-spacing:.2em;font-weight:800;color:#b27d5c}
 .mobile-nav-heading strong{font-size:clamp(24px,3.8vw,33px);letter-spacing:-.065em;color:#2d4d3c}
 .mobile-nav-heading p{font-size:13px;color:#88998c;margin-top:0}
 .mobile-list{counter-reset:mobile-nav-index;margin-top:12px}
 .mobile-group{counter-increment:mobile-nav-index;border-bottom:1px solid #e4ece3}
 .mobile-menu-row{border:0;display:flex;align-items:center;min-height:62px}
 .mobile-menu-row::before{content:counter(mobile-nav-index,decimal-leading-zero);width:35px;flex:0 0 35px;color:#acbbae;font:600 11px Arial,sans-serif;letter-spacing:.04em}
 .mobile-menu-row>a,.mobile-sub-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:1;width:100%;min-width:0;padding:16px 5px;min-height:60px;font-size:17px;font-weight:730;letter-spacing:-.04em;color:var(--ink);text-align:left;background:transparent;border:0;cursor:pointer}
 .mobile-menu-row>a:hover,.mobile-sub-toggle:hover{color:#a26b4e}
 .mobile-hint{font-size:11px;white-space:nowrap;font-weight:600;letter-spacing:0;color:#9bac9f;border:1px solid #dce7dc;border-radius:100px;padding:5px 9px;transition:background .2s,color .2s}
 .mobile-sub-toggle[aria-expanded="true"] .mobile-hint{background:#41614c;border-color:#41614c;color:white}
 .mobile-active .mobile-menu-title{color:#a66f50}
 .mobile-submenu{margin:0 0 17px 35px;padding:7px 13px;gap:1px;border-radius:11px;background:#eaf1e9;animation:subAppear .17s ease both}
 .mobile-submenu a{border-radius:7px;font-size:14px;color:#587261;padding:11px 12px;transition:background .2s}
 .mobile-submenu a:hover,.mobile-submenu a:focus-visible{background:rgba(255,255,255,.7)}
 .mobile-nav-footer{margin:23px 0 0;display:flex;justify-content:space-between;font:700 10px Arial,sans-serif;letter-spacing:.14em;color:#a0b0a2}
 .mobile-nav-footer span{letter-spacing:.08em}
 body.nav-is-open{overflow:hidden}
}
@media(max-width:860px) and (min-width:681px){
 .hero-inner{grid-template-columns:.95fr 1.05fr;min-height:480px;gap:4px}
 .hero-copy{padding:48px 0}
 .hero h1{font-size:clamp(45px,6.6vw,60px);margin:19px 0 21px}
 .hero-lead{font-size:18px}
 .hero-description{font-size:13px}
 .hero-cta{gap:14px;margin-top:26px}
 .btn-dark{padding:14px;font-size:12px;gap:10px}
 .text-cta{font-size:11px}
 .hero-art-wrap{height:370px;min-height:0;margin-top:0}
 .hero-art{width:min(430px,113%);transform:rotate(-2deg)}
 .art-caption-top{top:10px;right:0}
 .art-caption-bottom{bottom:10px;right:0}
 .program-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .program-card{min-height:195px}
 .program-grid>.program-card:last-child{grid-column:1/-1;min-height:175px}
 .program-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
}
@media(max-width:680px){
 .hero-inner{grid-template-columns:1fr}
 .hero-copy{padding:54px 2px 0}
 .hero-art-wrap{height:clamp(240px,66vw,360px);min-height:0;margin-top:0}
 .hero-art{width:min(440px,100%);transform:rotate(-2deg)}
 .hero h1{font-size:clamp(47px,10.6vw,66px)}
 .hero-cta{gap:15px}
 .section{padding-block:64px}
 .program-grid{grid-template-columns:1fr;gap:12px}
 .program-card{min-height:156px}
 .current-section{padding-top:0}
}
@media(max-width:560px){
 .header-container{height:66px}
 .brand-logo{width:114px}
 .brand-sub{font-size:11.8px}
 .brand-sub span{display:none}
 .brand{gap:9px}
 .menu-toggle{width:43px;height:43px;flex-basis:43px;padding:10px}
 .mobile-nav{max-height:calc(100dvh - 67px);padding:24px 20px 32px}
 .mobile-nav-heading{padding-bottom:20px}
 .mobile-nav-heading strong{font-size:26px}
 .mobile-menu-row{min-height:59px}
 .mobile-menu-row>a,.mobile-sub-toggle{min-height:59px;font-size:16px}
 .mobile-hint{font-size:10px}
 .hero-copy{padding-top:43px}
 .hero h1{margin:19px 0 19px;font-size:clamp(46px,11.5vw,59px)}
 .hero-art-wrap{height:clamp(258px,79vw,335px)}
 .hero-bottom{gap:10px}
 .program-card{min-height:153px;border-radius:18px;padding:22px 24px}
 .program-card:hover{transform:translateY(-3px)}
 .section{padding-block:61px}
 .current-section{padding-top:0}
}
@media(max-width:365px){
 .brand-logo{width:101px}.brand-sub{font-size:11px}
 .header-container{gap:8px}
 .hero-cta{gap:11px}
 .btn-dark{font-size:11px;padding:14px 12px}
 .text-cta{font-size:10px}
}
/* Keep icon-free nav; aesthetic polish to existing panels/cards. */
.program-card{transition:transform .3s var(--ease),box-shadow .3s var(--ease);border-radius:16px;overflow:hidden}
.program-card:hover{box-shadow:0 16px 32px rgba(45,67,47,.085)}
.gallery-image{border-radius:12px}
@keyframes navAppear{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@keyframes subAppear{from{opacity:.45;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.mobile-nav,.mobile-submenu{animation:none!important}}


/* v4 · HERO ONLY — editorial desktop composition and compact mobile artwork */
.hero{
 background:radial-gradient(ellipse 46% 76% at 87% 53%,rgba(195,215,195,.50),transparent 72%),
            radial-gradient(ellipse 32% 50% at 0% 100%,rgba(246,240,229,.60),transparent 75%),
            linear-gradient(113deg,#f7f8f5 0%,#edf3ec 48%,#e5eee4 100%);
 isolation:isolate;
}
.hero::before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;opacity:.33;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96'%3E%3Ccircle cx='3' cy='3' r='.6' fill='%238ca58d'/%3E%3C/svg%3E")}
.hero::after{width:320px;height:320px;left:-180px;top:30%;opacity:.55}
.hero-inner{min-height:530px;grid-template-columns:1.05fr .95fr;gap:20px}
.hero-copy{padding:43px 0 37px}
.hero .eyebrow{color:#78907d;letter-spacing:.16em}
.hero h1{font-size:clamp(55px,5.6vw,76px);line-height:1.15;letter-spacing:-.075em;margin:22px 0 25px}
.hero-highlight{font-style:normal;position:relative;white-space:nowrap;z-index:0}
.hero-highlight::after{content:"";position:absolute;height:11px;border-radius:2px;bottom:5px;left:1px;right:-1px;z-index:-1;background:rgba(198,163,135,.22)}
.hero-lead{font-size:20px;line-height:1.55}
.hero-description{margin-top:12px;font-size:14px;line-height:1.78}
.hero-cta{margin-top:30px;gap:24px}
.hero .btn-dark{border-radius:8px;padding:16px 21px;box-shadow:0 7px 18px rgba(39,69,57,.12)}
.hero .btn-dark:hover{box-shadow:0 12px 22px rgba(39,69,57,.18)}
.hero .text-cta{font-size:12.5px;transition:color .2s,border-color .2s}
.hero .text-cta:hover{color:#ac7053;border-color:#ac7053}
.hero-signature{display:flex;align-items:center;gap:9px;margin-top:24px;font-size:11px;font-weight:600;letter-spacing:-.03em;color:#8c9d8e}
.hero-signature>span{display:block;width:27px;height:1px;background:#bd8a70}
.hero-art-wrap{min-height:465px}
.hero-art{width:min(570px,111%);height:auto;filter:saturate(.92) drop-shadow(0 15px 24px rgba(51,80,57,.05));transform:rotate(-2deg) translate(11px,5px)}
.art-caption-top{top:48px;right:0}
.art-caption-bottom{bottom:50px;right:18px}
.hero-art-note{position:absolute;z-index:2;left:3%;bottom:69px;display:flex;align-items:center;gap:11px;padding:13px 17px;background:rgba(255,255,255,.86);border:1px solid rgba(220,228,217,.82);border-radius:12px;backdrop-filter:blur(8px);box-shadow:0 8px 27px rgba(41,64,44,.065);transform:rotate(2deg)}
.hero-note-point{display:block;width:8px;height:8px;flex:0 0 8px;border-radius:100%;background:#ad896d}
.hero-art-note strong{display:block;color:#47634f;font-size:12px;letter-spacing:-.04em}
.hero-art-note small{display:block;color:#8ea193;font-size:8px;font-weight:700;letter-spacing:.12em;margin-top:4px}
.hero-bottom{min-height:65px}
.hero-tags span{font-size:11px}
.hero-tags span+span:before{margin:0 14px}
.weather{min-height:38px}
@media(min-width:1121px) and (max-width:1270px){
 .hero-inner{min-height:505px}
 .hero h1{font-size:clamp(54px,5.5vw,70px)}
 .hero-art{width:min(545px,111%)}
}
@media(max-width:1120px) and (min-width:861px){
 .hero-inner{min-height:485px;gap:8px}
 .hero-copy{padding:43px 0}
 .hero h1{font-size:clamp(47px,5.5vw,61px);margin:18px 0 20px}
 .hero-art-wrap{min-height:430px}
 .hero-art{width:min(495px,113%)}
 .hero-art-note{left:2%;bottom:45px}
 .art-caption-top{top:28px}
 .art-caption-bottom{bottom:28px}
}
@media(max-width:860px) and (min-width:681px){
 .hero-inner{min-height:465px;grid-template-columns:1fr .96fr;gap:12px}
 .hero-copy{padding:42px 0}
 .hero h1{font-size:clamp(45px,6.2vw,56px);margin:19px 0 22px}
 .hero-lead{font-size:17px}
 .hero-description{font-size:12.5px;margin-top:9px}
 .hero-cta{margin-top:23px;gap:13px}
 .hero .btn-dark{padding:14px 13px;font-size:11.5px;gap:10px}
 .hero .text-cta{font-size:11px}
 .hero-signature{margin-top:16px}
 .hero-art-wrap{height:400px;min-height:0;margin-top:0}
 .hero-art{width:min(448px,114%);transform:rotate(-2deg) translate(8px,0)}
 .hero-art-note{left:1%;bottom:42px;padding:10px 12px}
 .art-caption-top{top:14px}
 .art-caption-bottom{bottom:17px}
}
@media(max-width:680px){
 .hero-inner{grid-template-columns:1fr;gap:0;min-height:0}
 .hero-copy{padding:39px 0 0}
 .hero .eyebrow{font-size:9px;letter-spacing:.095em}
 .hero h1{font-size:clamp(44px,10.6vw,61px);margin:18px 0 21px;line-height:1.17}
 .hero-highlight::after{height:8px;bottom:4px}
 .hero-lead{font-size:17px;line-height:1.5}
 .hero-description{font-size:13px;line-height:1.68;margin-top:9px}
 .hero-cta{margin-top:23px;gap:17px}
 .hero .btn-dark{padding:15px 19px;font-size:12px;border-radius:7px}
 .hero .text-cta{font-size:12px}
 .hero-signature{margin-top:17px;font-size:10px}
 .hero-art-wrap{height:clamp(245px,66vw,365px);min-height:0;margin:6px auto 0;width:100%;max-width:530px}
 .hero-art{width:min(480px,108%);transform:rotate(-2.4deg) translate(0,0)}
 .hero-art-note{left:5%;bottom:31px;padding:9px 12px;gap:7px;border-radius:10px}
 .hero-art-note strong{font-size:11px}
 .hero-art-note small{font-size:7px}
 .art-caption-top{top:3px;right:0}
 .art-caption-bottom{bottom:5px;right:5px}
 .hero-bottom{min-height:0;padding:13px 0 16px;gap:9px}
 .hero-tags{gap:5px 0}
 .hero-tags span{font-size:10px}
 .hero-tags span+span:before{margin:0 8px}
 .weather{min-height:30px;padding-top:10px;gap:7px;font-size:11px}
}
@media(max-width:420px){
 .hero-copy{padding-top:35px}
 .hero h1{font-size:clamp(43px,11vw,49px)}
 .hero-lead{font-size:16px}
 .hero-description{font-size:12.5px}
 .hero-cta{gap:12px}
 .hero .btn-dark{padding:14px 15px;font-size:11.5px;gap:11px}
 .hero .text-cta{font-size:11px}
 .hero-art-wrap{height:clamp(235px,68vw,290px);margin-top:2px}
 .hero-art-note{left:0;bottom:22px}
 .art-caption-top{font-size:7px;top:5px}
 .art-caption-bottom{font-size:7px;bottom:3px}
}
@media(max-width:350px){
 .hero h1{font-size:41px}
 .hero-cta{align-items:flex-start;flex-direction:column;gap:18px}
 .hero-art-note{bottom:17px;left:0}
 .hero-art-wrap{height:228px}
}
@media(prefers-reduced-motion:no-preference){
 .hero-copy{animation:heroEnter .7s cubic-bezier(.18,.72,.25,1) both}
 .hero-art-wrap{animation:heroEnter .75s .09s cubic-bezier(.18,.72,.25,1) both}
 @keyframes heroEnter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
}

/* v5 · HERO REFINED — based on existing banner mood */
.hero{
  background:transparent;
  padding-top:18px;
}
.hero::before,
.hero::after{display:none}
.hero-shell{
  position:relative;
  min-height:470px;
  overflow:hidden;
  border-radius:30px;
  border:1px solid #dfdfd6;
  background:#f4f4ef;
  box-shadow:0 14px 32px rgba(55,66,49,.05);
  isolation:isolate;
}
.hero-image{
  position:absolute;
  inset:0;
  background-image:url('assets/hero-banner-source.png');
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  z-index:0;
}
.hero-shell::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg, rgba(244,246,242,1) 0%, rgba(244,246,242,.98) 22%, rgba(244,246,242,.88) 33%, rgba(244,246,242,.56) 44%, rgba(244,246,242,.18) 55%, rgba(244,246,242,0) 68%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
}
.hero-copy{
  position:relative;
  z-index:2;
  width:min(44%, 560px);
  min-height:470px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:54px 56px 56px 76px;
}
.hero .eyebrow{
  color:#b17b59;
  font-size:14px;
  font-weight:700;
  letter-spacing:.18em;
  margin-bottom:24px;
}
.hero .eyebrow-line{background:#b17b59;width:30px}
.hero h1{
  font-family:'Times New Roman', 'Noto Serif KR', Georgia, serif;
  color:#2f5343;
  font-size:clamp(48px, 4.9vw, 78px);
  line-height:1.1;
  letter-spacing:-.06em;
  margin:0 0 32px;
  font-weight:600;
}
.hero h1 .period{display:none}

.hero-line{display:inline-block;word-break:keep-all}
.hero-highlight,
.hero-highlight::after{all:unset}
.hero-lead{
  color:#355543;
  font-size:17px;
  line-height:1.55;
  font-weight:700;
  margin:0 0 16px;
}
.hero-description{
  color:#879387;
  font-size:15px;
  line-height:1.8;
  margin:0;
}
.hero-cta{
  margin-top:38px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.hero .btn{
  min-width:172px;
  min-height:58px;
  border-radius:14px;
  font-size:15px;
  font-weight:700;
  letter-spacing:-.03em;
}
.hero .btn span{font-size:16px}
.hero .btn-dark{
  background:#3f664f;
  border-color:#3f664f;
  box-shadow:none;
}
.hero .btn-dark:hover{background:#325540;border-color:#325540;box-shadow:none}
.hero .btn-light{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 24px;
  color:#45614c;
  background:rgba(255,255,255,.52);
  border:1.5px solid #cbd7cb;
  backdrop-filter:blur(2px);
}
.hero .btn-light:hover{background:#fff;color:#325540;border-color:#bfcfbe}
.hero-badge{
  position:absolute;
  right:32px;
  bottom:24px;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  padding:14px 18px 13px;
  min-width:196px;
  border-radius:10px;
  border:1px solid rgba(225,228,217,.95);
  background:rgba(251,250,245,.95);
  box-shadow:0 8px 24px rgba(44,58,42,.08);
}
.hero-badge strong{
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  color:#3f664f;
}
.hero-badge span{
  font-size:13px;
  letter-spacing:.08em;
  color:#9f9283;
}
.hero-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:18px;
  padding:0 10px 0 10px;
}
.hero-tags{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  color:#6f7d72;
}
.hero-tags span{
  font-size:13px;
  letter-spacing:-.02em;
  position:relative;
}
.hero-tags span+span::before{
  content:'/';
  position:relative;
  margin-right:16px;
  color:#b9c3b8;
}
.weather{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:13px;
  color:#6b7a6d;
  min-height:auto;
}
.weather strong{color:#547060;font-weight:700}
.weather-data{color:#8c988f}
@media(min-width:1280px){
  .hero-shell{min-height:495px}
  .hero-copy{min-height:495px;width:min(43%,560px);padding-left:78px}
}
@media(max-width:1180px){
  .hero-shell{min-height:430px}
  .hero-copy{min-height:430px;width:min(49%, 520px);padding:48px 44px 48px 54px}
  .hero h1{font-size:clamp(42px,4.6vw,64px);margin-bottom:26px}
}
@media(max-width:920px){
  .hero-shell{min-height:390px;border-radius:26px}
  .hero-copy{min-height:390px;width:min(53%,460px);padding:42px 34px 42px 42px}
  .hero .eyebrow{font-size:12px;margin-bottom:18px}
  .hero h1{font-size:clamp(38px,5.4vw,54px);margin-bottom:22px}
  .hero-lead{font-size:15px}
  .hero-description{font-size:13px}
  .hero .btn{min-width:154px;min-height:52px;font-size:14px}
  .hero-badge{right:20px;bottom:20px;min-width:176px}
}
@media(max-width:680px){
  .hero{padding-top:12px}
  .hero-shell{
    min-height:0;
    display:flex;
    flex-direction:column;
    border-radius:24px;
    background:#f3f3ee;
  }
  .hero-shell::before{
    background:linear-gradient(180deg, rgba(244,246,242,.96) 0%, rgba(244,246,242,.92) 38%, rgba(244,246,242,.18) 72%, rgba(244,246,242,0) 100%);
  }
  .hero-image{
    position:relative;
    order:2;
    inset:auto;
    height:220px;
    background-position:center center;
  }
  .hero-copy{
    width:100%;
    min-height:0;
    padding:40px 26px 18px;
  }
  .hero h1{font-size:clamp(40px,10.2vw,56px);margin-bottom:20px}
  .hero-lead{font-size:15px;line-height:1.6;margin-bottom:12px}
  .hero-description{font-size:13px;line-height:1.72}
  .hero-cta{margin-top:28px;gap:12px}
  .hero .btn{width:auto;min-width:0;flex:1 1 calc(50% - 6px);min-height:52px;padding:0 14px;font-size:14px;border-radius:12px}
  .hero-badge{
    right:16px;
    bottom:16px;
    min-width:150px;
    padding:12px 14px;
  }
  .hero-badge strong{font-size:10px}
  .hero-badge span{font-size:11px}
  .hero-bottom{padding:0 4px;align-items:flex-start;flex-direction:column;gap:12px;margin-top:14px}
  .hero-tags{gap:10px 14px}
  .hero-tags span{font-size:12px}
  .hero-tags span+span::before{margin-right:10px}
}
@media(max-width:430px){
  .hero-copy{padding:34px 20px 14px}
  .hero .eyebrow{font-size:10px;letter-spacing:.16em;margin-bottom:16px}
  .hero h1{font-size:clamp(38px,11.5vw,52px)}
  .hero .btn{font-size:13.5px}
  .hero-badge{min-width:138px;right:12px;bottom:12px}
}
@media(max-width:360px){
  .hero .btn{flex-basis:100%}
  .hero-image{height:205px}
}

/* ============================================================
   v6 | Reference-matched, low horizontal hero. The supplied
   watercolor background is kept as-is (no extra white wash).
   All other site components remain unchanged.
   ============================================================ */
.hero{padding:clamp(10px,1.8vw,38px) 0 0;background:#fff;overflow:visible}
.hero>.wrap{width:min(1650px,80.5%);max-width:none}
.hero-shell{
  aspect-ratio:3.455;
  width:100%;
  height:auto;
  min-height:0;
  border-radius:clamp(16px,1.15vw,25px);
  border:1px solid #e1ded5;
  box-shadow:0 12px 34px rgba(53,58,46,.045);
  background:#f4f4ef;
  overflow:hidden;
  position:relative;
}
.hero-shell::before{display:none}
.hero-image{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  background-image:url('assets/hero-banner-source.png');
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero-copy{
  position:relative;
  z-index:1;
  width:55%;
  height:100%;
  min-height:0;
  padding:clamp(22px,2.3vw,48px) 0 0 clamp(26px,3.7vw,77px);
  display:block;
}
.hero .eyebrow{
  margin:0 0 clamp(11px,1.15vw,23px);
  color:#ad7154;
  font-size:clamp(9px,.68vw,13px);
  font-weight:750;
  line-height:1.4;
  letter-spacing:.16em;
  white-space:nowrap;
}
.hero .eyebrow-line{width:clamp(18px,1.4vw,27px);background:#b67c59;margin-right:9px}
.hero h1{
  font-family:'AppleMyungjo','Nanum Myeongjo','Noto Serif CJK KR','Noto Serif KR',serif;
  font-size:clamp(36px,3.45vw,70px);
  font-weight:500;
  line-height:1.23;
  letter-spacing:-.065em;
  color:#294d3e;
  margin:0 0 clamp(13px,1.55vw,32px);
}
.hero h1>.hero-line{font-weight:500;white-space:nowrap}
.hero-lead{
  color:#3a5d4c;
  font-size:clamp(12px,.88vw,17px);
  line-height:1.55;
  letter-spacing:-.045em;
  font-weight:750;
  margin:0 0 clamp(8px,.75vw,16px);
}
.hero-description{
  color:#879488;
  font-size:clamp(11px,.77vw,15px);
  line-height:1.65;
  margin:0;
  letter-spacing:-.045em;
}
.hero-cta{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:clamp(9px,.65vw,13px);
  margin-top:clamp(18px,1.8vw,36px);
}
.hero .btn{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  min-width:clamp(125px,8.3vw,170px);
  width:auto;
  min-height:clamp(39px,2.65vw,55px);
  padding:0 clamp(12px,1.25vw,24px);
  border-radius:clamp(7px,.6vw,11px);
  font-size:clamp(11px,.72vw,14px);
  line-height:1.1;
  font-weight:700;
  letter-spacing:-.055em;
  gap:14px;
  box-shadow:none;
}
.hero .btn-dark{background:#355a46;border:1px solid #355a46;color:#fff}
.hero .btn-light{background:rgba(247,249,246,.67);border:1px solid #cad7ca;color:#355a46;backdrop-filter:none}
.hero .btn span{font-size:clamp(13px,.82vw,16px);font-weight:400}
.hero-badge{
  right:clamp(13px,1.6vw,33px);
  bottom:clamp(12px,1.3vw,26px);
  min-width:clamp(136px,9.6vw,195px);
  padding:clamp(8px,.65vw,13px) clamp(9px,.8vw,16px);
  border-radius:5px;
  background:rgba(253,251,246,.96);
  border:1px solid rgba(236,235,226,.95);
  box-shadow:0 8px 20px rgba(59,54,43,.065);
  gap:4px;
}
.hero-badge strong{font-size:clamp(9px,.64vw,12px);letter-spacing:.09em;color:#355c48}
.hero-badge span{font-size:clamp(9px,.60vw,12px);letter-spacing:.10em;color:#a7a095;align-self:flex-end}
.hero-bottom{margin-top:clamp(9px,1vw,17px);padding:0 5px;min-height:39px}
@media(max-width:1200px) and (min-width:821px){
  .hero>.wrap{width:calc(100% - 92px)}
  .hero-shell{aspect-ratio:3.15}
  .hero-copy{width:58%;padding:22px 0 0 35px}
  .hero h1{font-size:clamp(37px,4vw,48px);margin-bottom:12px;line-height:1.19}
  .hero .eyebrow{margin-bottom:11px}
  .hero-lead{font-size:12px;margin-bottom:8px}
  .hero-description{font-size:11px;line-height:1.55}
  .hero-cta{margin-top:15px}
  .hero .btn{min-height:37px;min-width:119px;font-size:11px;padding:0 13px}
}
@media(max-width:820px){
  .hero{padding-top:11px}
  .hero>.wrap{width:calc(100% - 36px)}
  .hero-shell{display:flex;flex-direction:column;aspect-ratio:auto;min-height:0;border-radius:19px}
  .hero-copy{position:relative;order:1;width:100%;height:auto;min-height:0;padding:30px 26px 26px}
  .hero .eyebrow{font-size:10px;margin:0 0 16px;letter-spacing:.135em}
  .hero h1{font-size:clamp(39px,8vw,55px);line-height:1.18;margin-bottom:22px;letter-spacing:-.06em}
  .hero-lead{font-size:14px;margin-bottom:12px;line-height:1.5}
  .hero-description{font-size:12px;line-height:1.65;letter-spacing:-.03em}
  .hero-cta{margin-top:24px;gap:10px}
  .hero .btn{flex:1 1 0;min-width:0;width:auto;min-height:46px;max-width:220px;font-size:12px;padding:0 14px;border-radius:9px}
  .hero .btn span{font-size:15px}
  .hero-image{position:relative;order:2;inset:auto;height:clamp(185px,40vw,310px);width:100%;background-size:cover;background-position:75% 53%}
  .hero-badge{right:14px;bottom:14px;min-width:145px;padding:9px 11px}
  .hero-badge strong{font-size:9px}
  .hero-badge span{font-size:9px}
  .hero-bottom{padding:0 2px;margin-top:10px}
}
@media(max-width:430px){
  .hero-copy{padding:24px 20px 22px}
  .hero .eyebrow{font-size:9px;margin-bottom:14px}
  .hero h1{font-size:clamp(36px,10vw,43px);margin-bottom:20px}
  .hero-lead{font-size:13px}
  .hero-description{font-size:11.5px}
  .hero-cta{margin-top:21px}
  .hero .btn{font-size:11.5px;min-height:43px;padding:0 12px}
  .hero-image{height:175px}
}
@media(max-width:345px){
  .hero-copy{padding:21px 14px 18px}
  .hero h1{font-size:34px}
  .hero-cta{gap:8px}
  .hero .btn{padding:0 9px;font-size:10.5px}
  .hero-badge{min-width:130px}
}
/* v6 final spacing: maintain visible bottom inset for call-to-action buttons */
@media(min-width:821px){
 .hero-copy{padding-top:clamp(19px,2vw,43px)}
 .hero .eyebrow{margin-bottom:clamp(7px,.9vw,18px)}
 .hero h1{margin-bottom:clamp(7px,1.15vw,23px)}
 .hero-cta{margin-top:clamp(14px,1.4vw,28px)}
 .hero-shell::before{display:block;background:linear-gradient(90deg,transparent 55%,rgba(45,40,34,.065) 100%);pointer-events:none;z-index:1}
 .hero-copy,.hero-badge{z-index:2}
}

/* ============================================================
   v7 | Hero cleanup + animated minimalist weather widget
   ============================================================ */
.hero-bottom{display:none !important}
.hero-lead{
  font-family:'AppleMyungjo','Nanum Myeongjo','Noto Serif CJK KR','Noto Serif KR',serif !important;
  color:#355646 !important;
  font-size:clamp(18px,1.35vw,28px) !important;
  line-height:1.42 !important;
  font-weight:500 !important;
  letter-spacing:-.05em !important;
  margin:0 0 clamp(10px,.9vw,18px) !important;
}
@media(max-width:820px){
  .hero-lead{font-size:clamp(16px,4.4vw,22px) !important;line-height:1.45 !important}
}
@media(max-width:430px){
  .hero-lead{font-size:clamp(15px,4.8vw,20px) !important}
}

.weather-showcase{
  width:min(1650px,80.5%);
  max-width:none;
  margin:26px auto 0;
  padding:0 8px;
}
.weather-title{
  margin:0 0 20px;
  color:#274838;
  font-size:clamp(24px,1.9vw,42px);
  line-height:1.1;
  letter-spacing:-.06em;
  font-weight:800;
}
.weather-widget{
  display:flex;
  align-items:center;
  gap:24px;
  min-height:175px;
  padding:10px 0 6px;
}
.weather-visual{
  flex:0 0 clamp(210px,16vw,300px);
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:140px;
}
.weather-scene{
  position:relative;
  width:clamp(126px,9.6vw,190px);
  height:clamp(92px,7.2vw,136px);
}
.weather-meta{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}
.weather-temp{
  margin:0;
  font-size:clamp(58px,4.8vw,92px);
  line-height:.95;
  font-weight:500;
  letter-spacing:-.075em;
  color:#6f6f71;
}
.weather-desc{
  margin:0;
  color:#66686c;
  font-size:clamp(20px,1.65vw,32px);
  line-height:1.15;
  letter-spacing:-.045em;
  text-transform:lowercase;
}
.sun-core,.sun-rays,.cloud,.raindrop,.snowflake,.bolt{position:absolute;display:block}
.sun-core{
  width:46px;height:46px;border-radius:50%;
  border:7px solid #80947c;
  left:24px;top:20px;opacity:0;
}
.sun-rays{
  width:74px;height:74px;left:10px;top:6px;opacity:0;border-radius:50%;
  background:conic-gradient(from 0deg, #80947c 0 8deg, transparent 8deg 30deg, #80947c 30deg 38deg, transparent 38deg 60deg, #80947c 60deg 68deg, transparent 68deg 90deg, #80947c 90deg 98deg, transparent 98deg 120deg, #80947c 120deg 128deg, transparent 128deg 150deg, #80947c 150deg 158deg, transparent 158deg 180deg, #80947c 180deg 188deg, transparent 188deg 210deg, #80947c 210deg 218deg, transparent 218deg 240deg, #80947c 240deg 248deg, transparent 248deg 270deg, #80947c 270deg 278deg, transparent 278deg 300deg, #80947c 300deg 308deg, transparent 308deg 330deg, #80947c 330deg 338deg, transparent 338deg 360deg);
  -webkit-mask: radial-gradient(circle, transparent 0 22px, #000 23px 100%);
          mask: radial-gradient(circle, transparent 0 22px, #000 23px 100%);
}
.cloud{
  border:7px solid #80947c;background:transparent;border-radius:999px;
}
.cloud-front{
  width:98px;height:48px;left:32px;top:34px;
}
.cloud-front::before,.cloud-front::after,.cloud-back::before,.cloud-back::after{content:"";position:absolute;border:7px solid #80947c;border-radius:50%;background:#edf0eb}
.cloud-front::before{width:40px;height:40px;left:8px;top:-22px}
.cloud-front::after{width:46px;height:46px;left:40px;top:-27px}
.cloud-back{
  width:84px;height:40px;left:16px;top:28px;opacity:0;
}
.cloud-back::before{width:34px;height:34px;left:6px;top:-18px}
.cloud-back::after{width:38px;height:38px;left:34px;top:-22px}
.raindrop{
  width:8px;height:18px;border-radius:999px 999px 999px 999px/16px 16px 10px 10px;background:#80947c;opacity:0;
  top:86px;
}
.drop-1{left:54px;animation:rain-fall 1.2s linear infinite}
.drop-2{left:78px;animation:rain-fall 1.35s .18s linear infinite}
.drop-3{left:102px;animation:rain-fall 1.1s .4s linear infinite}
.snowflake{
  width:8px;height:8px;border-radius:50%;background:#80947c;opacity:0;top:92px;
}
.flake-1{left:58px;animation:snow-fall 1.8s linear infinite}
.flake-2{left:82px;animation:snow-fall 1.7s .35s linear infinite}
.flake-3{left:106px;animation:snow-fall 1.95s .6s linear infinite}
.bolt{
  width:18px;height:30px;left:82px;top:74px;opacity:0;
  background:#80947c;
  clip-path:polygon(44% 0, 100% 0, 60% 44%, 96% 44%, 22% 100%, 42% 56%, 12% 56%);
}
.weather-widget.is-clear .sun-core,
.weather-widget.is-clear .sun-rays,
.weather-widget.is-partly .sun-core,
.weather-widget.is-partly .sun-rays{opacity:1}
.weather-widget.is-partly .sun-core{left:16px;top:14px}
.weather-widget.is-partly .sun-rays{left:2px;top:0}
.weather-widget.is-clear .cloud-front,
.weather-widget.is-clear .cloud-back{opacity:0}
.weather-widget.is-partly .cloud-back{opacity:1;left:42px;top:36px}
.weather-widget.is-partly .cloud-front{left:56px;top:42px}
.weather-widget.is-cloudy .cloud-back,
.weather-widget.is-rain .cloud-back,
.weather-widget.is-snow .cloud-back,
.weather-widget.is-storm .cloud-back{opacity:.9}
.weather-widget.is-cloudy .cloud-front,
.weather-widget.is-rain .cloud-front,
.weather-widget.is-snow .cloud-front,
.weather-widget.is-storm .cloud-front{opacity:1}
.weather-widget.is-rain .raindrop,
.weather-widget.is-storm .raindrop{opacity:1}
.weather-widget.is-snow .snowflake{opacity:1}
.weather-widget.is-storm .bolt{opacity:1;animation:bolt-flash 1.6s ease-in-out infinite}
.weather-widget.is-cloudy .cloud-front,
.weather-widget.is-cloudy .cloud-back,
.weather-widget.is-rain .cloud-front,
.weather-widget.is-rain .cloud-back,
.weather-widget.is-snow .cloud-front,
.weather-widget.is-snow .cloud-back,
.weather-widget.is-storm .cloud-front,
.weather-widget.is-storm .cloud-back,
.weather-widget.is-partly .cloud-front,
.weather-widget.is-partly .cloud-back{animation:cloud-drift 4.4s ease-in-out infinite}
.weather-widget.is-clear .sun-rays,
.weather-widget.is-partly .sun-rays{animation:sun-spin 11s linear infinite}

@keyframes sun-spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes cloud-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes rain-fall{0%{transform:translateY(-2px);opacity:0}20%{opacity:1}80%{opacity:.9}100%{transform:translateY(22px);opacity:0}}
@keyframes snow-fall{0%{transform:translate(0,0);opacity:0}20%{opacity:1}100%{transform:translate(4px,18px);opacity:0}}
@keyframes bolt-flash{0%,42%,100%{opacity:0}45%,55%{opacity:1}58%{opacity:.2}60%,68%{opacity:1}72%{opacity:0}}

@media(max-width:1200px){
  .weather-showcase{width:calc(100% - 92px)}
}
@media(max-width:820px){
  .weather-showcase{width:calc(100% - 36px);margin-top:22px;padding:0}
  .weather-title{margin-bottom:16px;font-size:clamp(22px,5vw,34px)}
  .weather-widget{min-height:150px;gap:16px}
  .weather-visual{flex-basis:150px;min-height:110px;justify-content:flex-start}
  .weather-scene{width:126px;height:92px}
  .weather-meta{gap:5px}
  .weather-temp{font-size:clamp(44px,10vw,68px)}
  .weather-desc{font-size:clamp(18px,4vw,24px)}
}
@media(max-width:540px){
  .weather-widget{align-items:center;gap:10px;min-height:132px}
  .weather-visual{flex:0 0 122px;min-height:90px}
  .weather-scene{width:108px;height:82px}
  .sun-core{width:36px;height:36px;border-width:6px;left:18px;top:16px}
  .sun-rays{width:58px;height:58px;left:8px;top:6px;-webkit-mask: radial-gradient(circle, transparent 0 17px, #000 18px 100%);mask: radial-gradient(circle, transparent 0 17px, #000 18px 100%)}
  .cloud,.cloud-front::before,.cloud-front::after,.cloud-back::before,.cloud-back::after{border-width:6px}
  .cloud-front{width:80px;height:40px;left:20px;top:28px}
  .cloud-front::before{width:34px;height:34px;left:6px;top:-18px}
  .cloud-front::after{width:38px;height:38px;left:32px;top:-22px}
  .cloud-back{width:70px;height:34px;left:10px;top:24px}
  .cloud-back::before{width:28px;height:28px;left:6px;top:-14px}
  .cloud-back::after{width:30px;height:30px;left:28px;top:-18px}
  .raindrop{top:74px;width:7px;height:15px}
  .drop-1{left:40px}.drop-2{left:60px}.drop-3{left:80px}
  .snowflake{top:78px;width:7px;height:7px}.flake-1{left:42px}.flake-2{left:62px}.flake-3{left:82px}
  .bolt{left:62px;top:63px;width:14px;height:24px}
  .weather-temp{font-size:clamp(38px,12vw,56px)}
  .weather-desc{font-size:clamp(14px,4.7vw,20px)}
}
