/* externalized brand-polish (22 pages: e.g. engagement.html, finish-matte.html, finish-mirror.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}
p,li,dd,dt,td,th,.lead,.a,.cjp{letter-spacing:.02em}
.lead{line-height:1.95}
.hero h1,.subhero h1,.h-sec{letter-spacing:.02em;text-wrap:balance}
.hero h1{line-height:1.45}
.h-sec{line-height:1.4}
@media(min-width:1200px){.lead{font-size:16px}}
@media(max-width:560px){
  body{line-height:1.8}
  .lead{font-size:14.5px;line-height:1.9}
}

/* ===== language switch ===== */
.lang-switch{display:inline-flex;align-items:stretch;font-family:"Cormorant Garamond",serif;font-size:12.5px;letter-spacing:.18em;line-height:1;border:1px solid currentColor;border-radius:999px;overflow:hidden;opacity:.9;white-space:nowrap}
.lang-switch>*{display:inline-block;padding:6px 12px;color:inherit;text-decoration:none;opacity:.5;transition:opacity .2s}
.lang-switch>*:not(:first-child){border-left:1px solid currentColor}
.lang-switch>a:hover,.lang-switch>.on{opacity:1}
.lang-switch>.on{font-weight:700}
/* ===== mobile drawer ===== */
.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:"Cormorant Garamond",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}
body.ns-lock .m-cta{display:none !important}
@media(max-width:640px){
  .ns-burger{display:block}
  header.nav nav.menu{display:none}
  header.nav .btn{display:none}
  header.nav .lang-switch{display:none}
  header.nav{gap:12px}
}
@media(min-width:641px){
  .ns-drawer{display:none}
}
