:root{--header-height:80px}
html{scroll-padding-top:calc(var(--header-height) + 20px)}
.site-header{position:fixed;inset:0 0 auto;z-index:50;color:#F6F2EA;background:#253d3180;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid #f6f2ea25;transition:background .3s,box-shadow .3s}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;width:min(100%,1440px);height:var(--header-height);padding:0 48px;margin:auto;transition:height .3s}
.header-brand{flex-shrink:0;white-space:nowrap}
.header-brand>span:first-child{font-size:24px;line-height:1.1;transition:font-size .3s}
.header-brand>span:last-child{font-size:9px;margin-top:6px;line-height:1.2;transition:opacity .3s}
.desktop-nav{display:flex;align-items:center;gap:32px;white-space:nowrap;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.desktop-nav a{display:flex;align-items:center;min-height:44px}
.header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.header-inquiry{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;background:#F6F2EA;color:#253D31;font-size:10px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;border-radius:2px;transition:background .2s}
.header-inquiry:hover{background:#e6dfd0}
.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;color:inherit;border:1px solid #f6f2ea40;border-radius:2px;background:transparent;flex-shrink:0}
.site-header.is-compact{--header-height:56px;background:#253d31de;box-shadow:0 1px 14px #17272018}
.site-header.is-compact .header-brand>span:first-child{font-size:21px}
.site-header.is-compact .header-brand>span:last-child{display:none}
#navigation-drawer{position:fixed;inset:0;margin:0 0 0 auto;width:min(calc(100% - 24px),460px);max-width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;border-radius:0;background:transparent;color:#253D31;box-shadow:none;overflow:visible}
#navigation-drawer::backdrop{background:#10271fbf;backdrop-filter:blur(5px);animation:drawer-backdrop-in .5s ease both}
.drawer-panel{position:relative;isolation:isolate;display:flex;flex-direction:column;height:100%;padding:28px 30px max(28px,env(safe-area-inset-bottom));background:#F6F2EA;animation:drawer-in .6s cubic-bezier(.76,0,.24,1) both}
.drawer-panel::before{content:'';position:absolute;z-index:-1;right:calc(100% - 1px);top:0;width:80px;height:100%;background:#F6F2EA;border-radius:100% 0 0 100%;transform-origin:right center;animation:drawer-curve-in .7s cubic-bezier(.76,0,.24,1) both}
.drawer-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:28px;border-bottom:1px solid #253d3124}
.drawer-brand{font-family:Newsreader,Georgia,serif;font-size:28px;line-height:1.1;white-space:nowrap}
.drawer-brand small{display:block;font-family:Manrope,sans-serif;font-size:8px;letter-spacing:.15em;text-transform:uppercase;margin-top:10px}
#menu-close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;color:inherit;background:transparent}
#navigation-drawer nav{margin:30px 0}
#navigation-drawer nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px;border-bottom:1px solid #253d3124;font-family:Newsreader,Georgia,serif;font-size:clamp(34px,8vw,46px);line-height:1.15;animation:drawer-link-in .5s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(140ms + var(--item)*60ms)}
#navigation-drawer nav a>span:last-child{font-family:Manrope,sans-serif;font-size:22px}
.drawer-footer{margin-top:auto;padding-top:20px}
.drawer-footer p{font-family:Newsreader,Georgia,serif;font-style:italic;font-size:24px;line-height:1.3;margin:0 0 22px}
.drawer-inquiry{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:14px 18px;background:#253D31;color:#F6F2EA;font-size:11px;letter-spacing:.09em;text-transform:uppercase}
.drawer-footer small{display:block;font-size:9px;letter-spacing:.08em;margin-top:20px;opacity:.7}
#navigation-drawer.is-closing .drawer-panel{animation:drawer-out .45s cubic-bezier(.76,0,.24,1) both}
#navigation-drawer.is-closing .drawer-panel::before{animation:drawer-curve-out .45s cubic-bezier(.76,0,.24,1) both}
#navigation-drawer.is-closing::backdrop{animation:drawer-backdrop-out .45s ease both}
@keyframes drawer-in{from{transform:translateX(calc(100% + 80px))}to{transform:translateX(0)}}
@keyframes drawer-out{from{transform:translateX(0)}to{transform:translateX(calc(100% + 80px))}}
@keyframes drawer-curve-in{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes drawer-curve-out{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes drawer-link-in{from{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}
@keyframes drawer-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes drawer-backdrop-out{from{opacity:1}to{opacity:0}}
@media(max-width:1100px){
  :root{--header-height:68px}
  .header-inner{padding:0 24px;gap:16px}
  .desktop-nav{display:none}
  .menu-toggle{display:flex}
  .header-brand>span:first-child{font-size:22px;letter-spacing:.1em}
  .header-brand>span:last-child{font-size:8px;letter-spacing:.12em}
  .site-header.is-compact{--header-height:52px}
}
@media(max-width:600px){
  :root{--header-height:64px}
  .header-inner{padding:0 20px}
  .header-brand>span:first-child,.site-header.is-compact .header-brand>span:first-child{font-size:20px}
  .header-inquiry{display:none}
  .drawer-panel{padding-left:24px;padding-right:20px}
  .drawer-brand{font-size:24px}
}
@media(max-height:650px){.drawer-panel{padding-top:12px;padding-bottom:12px;overflow-y:auto;overflow-x:hidden}.drawer-top{padding-bottom:10px}#navigation-drawer nav{margin:12px 0}#navigation-drawer nav a{min-height:52px;font-size:32px}.drawer-footer{padding-top:12px}.drawer-footer p{margin-bottom:12px;font-size:20px}.drawer-footer small{margin-top:12px}}
@media(prefers-reduced-motion:reduce){.site-header,.header-inner,.header-brand>span{transition:none}#navigation-drawer::backdrop,.drawer-panel,.drawer-panel::before,#navigation-drawer nav a{animation:none!important}.drawer-panel::before{transform:scaleX(0)}}
