/* 중앙 로고·좌우 메뉴와 모바일 탐색에 소르아 기준 공통 서체를 적용한다. */
:root{
  --sans:"Noto Sans KR","Apple SD Gothic Neo",sans-serif;
  --serif:var(--sans);
  --ui:var(--sans);
  --menu-font:300 13px/1.5 var(--sans);
  --menu-tracking:.035em;
}
.site-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:32px;
  padding-inline:3.5%;
  background:#fff;
  backdrop-filter:none;
}
.wordmark{grid-column:2;grid-row:1;justify-self:center;font-family:"Gilda Display",Georgia,serif;letter-spacing:-.04em}
.header-nav{display:flex;align-items:center;gap:clamp(20px,2.8vw,48px)}
.header-nav-left{grid-column:1;grid-row:1;justify-self:start}
.header-nav-right{grid-column:3;grid-row:1;justify-self:end}
.header-nav a,.primary-nav a,.services-nav a,.ive-guide-nav a,.subnav a,
.site-footer nav a,.story-back,.story-navigation a,.archive-back{
  font:var(--menu-font);
  letter-spacing:var(--menu-tracking);
}
.header-nav a{
  display:flex;
  align-items:center;
  min-height:44px;
  white-space:nowrap;
  color:inherit;
  text-underline-offset:6px;
}
.header-nav a:hover,.header-nav a[aria-current]{text-decoration:underline;text-decoration-thickness:1px}
.services-nav a[aria-current="page"],.ive-guide-nav a[aria-current="page"]{font-weight:400}
.home-at-top .header-nav{color:var(--header-ink);transition:color 1s ease}
.menu-toggle,.site-menu{display:none}
.mobile-current-section{display:none}
.primary-nav a[aria-current]::before{content:none}
.services-nav a,.ive-guide-nav a{color:#666}
.services-nav,.ive-guide-nav{gap:0 28px}
.services-header,.ive-guide{font-family:var(--sans)}
.product-entry h3{font-style:normal;font-weight:300}
.page .page-heading h1,.page .page-heading .eyebrow,.ive-story h1,
.ive-partners .partners-title,.notice-board h1{font-family:var(--sans);font-weight:300;letter-spacing:0}
@media(max-width:1023px){
  :root{--header-height:64px}
  .site-header{
    height:calc(var(--header-height) + env(safe-area-inset-top));
    padding:env(safe-area-inset-top) max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));
    gap:8px;
  }
  main{padding-top:calc(var(--header-height) + env(safe-area-inset-top))}
  .header-nav{display:none}
  .mobile-current-section:not([hidden]){display:block;grid-column:3;grid-row:1;justify-self:end;color:#555;font:400 12px/1.5 var(--sans);letter-spacing:.02em;white-space:nowrap}
  .wordmark{font-size:24px}
  .menu-toggle{display:flex;grid-column:1;grid-row:1;justify-self:start}
  .site-menu{
    display:flex;
    inset:calc(var(--header-height) + env(safe-area-inset-top)) 0 0;
    z-index:45;
    width:100%;
    max-width:none;
    padding:32px max(28px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));
    background:#fff;
    border:0;
    backdrop-filter:none;
    transform:translateX(-100%);
    overscroll-behavior:contain;
  }
  .primary-nav{margin:0;gap:8px;align-items:stretch}
  .primary-nav a{font-size:16px;min-height:52px;color:#333;width:fit-content}
  .primary-nav a::after{background:currentColor;bottom:8px}
  .menu-open{overflow:hidden}
  .menu-open .site-header{background:#fff;--header-ink:#111}
  .menu-open.home-at-top[data-hero-tone=light] .site-header{--header-ink:#111}
  .menu-open .wordmark,.menu-open .menu-toggle{color:#111;transition:none}
  .services-nav,.ive-guide-nav{gap:0 22px}
  .services-nav a,.ive-guide-nav a,.subnav a{font-size:12px;min-height:44px}
  .hero-controls{gap:2px}
  .hero-controls button{width:44px}
}
@media(max-width:640px){
  .site-footer nav a{min-height:44px;font-size:12px}
  .site-footer nav{gap:0 20px}
  .footer-details{grid-template-columns:1fr}
  .rv10-form input,.rv10-form select,.rv10-form textarea,
  .sim-field input,.sim-field select{font-size:16px}
}
@media(prefers-reduced-motion:reduce){
  .home-at-top .header-nav{transition:none}
}
