/* externalized brand-polish (6 pages: e.g. privacy-en.html, privacy-zh.html, privacy.html) */
/* ===== Brand Typography Polish — final pass ===== */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-feature-settings:"palt" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
/* Japanese running text: airy, refined tracking */
p,li,dd,dt,td,th,.lead,.a,.cjp{letter-spacing:.03em}
.lead{line-height:2.05}
/* Display headings: elegant tracking + graceful line-breaking */
.hero h1,.subhero h1,.h-sec{letter-spacing:.07em;text-wrap:balance}
.hero h1{line-height:1.5}
.h-sec{line-height:1.55}
/* Latin accents keep default metrics (palt is CJK-only) */
.ey,.en,.tag,.go,.cen{font-feature-settings:normal}
/* PC: calm, unified lead measure */
@media(min-width:1200px){.lead{font-size:16px}}
/* SP: balanced sizing & rhythm */
@media(max-width:560px){
  body{line-height:1.9}
  .lead{font-size:14.5px;line-height:1.98}
  .hero h1,.subhero h1{letter-spacing:.045em}
  .h-sec{letter-spacing:.045em;line-height:1.5}
}

/* ===== スマホ用メニュー（ハンバーガー＋ドロワー） ===== */
.ns-burger{display:none;position:relative;z-index:1002;width:42px;height:42px;
  border:none;background:transparent;cursor:pointer;padding:0;flex:none}
.ns-burger span{position:absolute;left:10px;width:22px;height:1.5px;background:#EEF1F3;
  transition:transform .3s ease,opacity .2s ease,top .3s ease}
.ns-burger span:nth-child(1){top:14px}
.ns-burger span:nth-child(2){top:20px}
.ns-burger span:nth-child(3){top:26px}
.ns-burger[aria-expanded="true"] span:nth-child(1){top:20px;transform:rotate(45deg)}
.ns-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.ns-burger[aria-expanded="true"] span:nth-child(3){top:20px;transform:rotate(-45deg)}

.ns-drawer{position:fixed;inset:0;z-index:1001;background:linear-gradient(165deg,#3E4A55,#2B333A 60%,#242b31);
  display:flex;flex-direction:column;padding:88px 26px 34px;overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(-12px);
  transition:opacity .32s ease,transform .32s ease,visibility .32s;
  -webkit-overflow-scrolling:touch}
.ns-drawer.open{opacity:1;visibility:visible;transform:translateY(0)}
.ns-drawer .ns-eyebrow{font-family:"Cormorant Garamond",serif;letter-spacing:.34em;
  text-transform:uppercase;font-size:11px;color:#9FADB7;margin-bottom:20px}
.ns-drawer nav{display:flex;flex-direction:column}
.ns-drawer nav a{display:flex;align-items:baseline;gap:12px;padding:16px 2px;
  border-bottom:1px solid rgba(238,241,243,.13);text-decoration:none;color:#EEF1F3;
  opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease}
.ns-drawer.open nav a{opacity:1;transform:translateY(0)}
.ns-drawer nav a .jp{font-family:"Zen Old Mincho",serif;font-size:17px;letter-spacing:.06em}
.ns-drawer nav a .en{font-family:"Cormorant Garamond",serif;font-size:11.5px;
  letter-spacing:.18em;text-transform:uppercase;color:#9FADB7;margin-left:auto}
.ns-drawer nav a:active{background:rgba(238,241,243,.06)}
.ns-drawer .ns-foot{margin-top:auto;padding-top:30px}
.ns-drawer .ns-cta{display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:16px;border-radius:999px;background:#5A6E7B;color:#fff;
  font-size:15px;font-weight:700;letter-spacing:.04em;text-decoration:none}
.ns-drawer .ns-sns{display:block;text-align:center;margin-top:16px;font-size:12.5px;
  letter-spacing:.06em;color:#9FADB7;text-decoration:none}
body.ns-lock{overflow:hidden}
/* メニューを開いている間はヘッダーを最前面へ（閉じるボタンを押せるように） */
body.ns-lock header.nav{z-index:1002;background:transparent;backdrop-filter:none;box-shadow:none}
body.ns-lock header.nav .wordmark{position:relative;z-index:1003}
/* 下部固定CTAはメニュー表示中は隠す */
body.ns-lock .m-cta{display:none !important}

@media(max-width:640px){
  .ns-burger{display:block}
  header.nav nav.menu{display:none}   /* PC用メニューは隠す（640pxで統一） */
  header.nav .btn{display:none}       /* 右側CTAはドロワー内に集約 */
  header.nav{gap:12px}
}
@media(min-width:641px){
  .ns-drawer{display:none}
}
