  :root{
    --ivory:#f2ece1; --greige:#a8a195; --greige-deep:#9a9387;
    --ink:#2b2824; --line:#ddd5c7; --mist:#e9e2d5;
    --serif:'Noto Serif KR','Apple SD Gothic Neo',Georgia,serif;
    --sans:-apple-system,BlinkMacSystemFont,'Helvetica Neue','Apple SD Gothic Neo',Arial,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{background:var(--ivory);color:var(--ink);font-family:var(--sans);word-break:keep-all;overflow-wrap:break-word;
       font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
  a{color:inherit;text-decoration:none}
  img{display:block}
  button{font-family:inherit}
  .wrap{max-width:1280px;margin:0 auto;padding:0 clamp(22px,5vw,64px)}
  .eyebrow{font-size:15px;letter-spacing:.38em;text-transform:uppercase;color:var(--greige-deep)}

  /* ---------- 헤더 ---------- */
  header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background .5s,border-color .5s}
  header .bar{display:flex;align-items:center;justify-content:space-between;height:76px;
              max-width:1280px;margin:0 auto;padding:0 clamp(22px,5vw,64px)}
  .logo img{height:17px;width:auto}
  .logo .ink{display:none}
  .hd-right{display:flex;align-items:center;gap:clamp(20px,3vw,42px)}
  nav.desktop{display:flex;gap:38px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory)}
  nav.desktop a{opacity:.75;transition:opacity .3s;padding-bottom:3px;border-bottom:1px solid transparent}
  nav.desktop a:hover{opacity:1;border-color:currentColor}
  .lang{display:flex;gap:13px;font-size:10.5px;letter-spacing:.16em;color:var(--ivory)}
  .lang button{background:none;border:0;cursor:pointer;color:inherit;opacity:.5;
               font-size:inherit;letter-spacing:inherit;padding:2px 0;border-bottom:1px solid transparent;transition:opacity .3s}
  .lang button.on{opacity:1;border-color:currentColor}
  header.scrolled{background:rgba(242,236,225,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
  header.scrolled nav.desktop,header.scrolled .lang{color:var(--ink)}
  header.scrolled .logo .ivory{display:none}
  header.scrolled .logo .ink{display:block}
  .burger{display:none;background:none;border:0;cursor:pointer;padding:10px;margin-right:-10px}
  .burger span{display:block;width:24px;height:1.5px;background:var(--ivory);margin:6px 0;transition:.35s}
  header.scrolled .burger span{background:var(--ink)}
  header.open .burger span{background:var(--ink)}
  header.open .burger span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  header.open .burger span:nth-child(2){opacity:0}
  header.open .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
  .mobile-menu{display:none;position:fixed;inset:0;background:var(--ivory);z-index:40;
               padding:130px clamp(22px,7vw,64px) 60px;flex-direction:column;gap:8px}
  .mobile-menu a{font-size:15px;letter-spacing:.22em;text-transform:uppercase;padding:18px 0;border-bottom:1px solid var(--line)}
  header.open ~ .mobile-menu{display:flex}
  header.open{background:var(--ivory)}
  header.open .logo .ivory{display:none}
  header.open .logo .ink{display:block}
  header.open nav.desktop,header.open .lang{color:var(--ink)}

  /* ---------- 히어로 ---------- */
  .hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;
        text-align:center;color:var(--ivory);position:relative;
        background:linear-gradient(175deg,#a49d90 0%,#a8a195 46%,#b1aa9d 100%);
        padding:120px 24px 90px}
  .hero .mark{width:min(560px,72vw);height:auto}
  .hero .lockup-tag{font-size:clamp(10px,1.4vw,13px);letter-spacing:.52em;text-transform:uppercase;
        color:rgba(242,236,225,.78);margin-top:clamp(18px,3vh,30px);text-indent:.52em}
  .hero .subtext{font-family:var(--serif);font-size:clamp(17px,2.2vw,22px);font-weight:400;line-height:1.9;
        color:rgba(242,236,225,.92);margin-top:clamp(44px,8vh,84px);letter-spacing:.01em;max-width:26em}
  .hero .cue{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
        color:rgba(242,236,225,.6);font-size:18px;animation:cue 2.4s ease-in-out infinite}
  @keyframes cue{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

  /* ---------- 공통 섹션 ---------- */
  section{padding:clamp(96px,14vh,170px) 0}
  .grid{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(0,8.8fr);gap:clamp(28px,4vw,72px)}
  .statement{font-family:var(--serif);font-size:clamp(20px,2.5vw,30px);line-height:1.55;font-weight:400;max-width:21em}

  .facts{margin-top:clamp(48px,7vh,84px);padding-top:26px;border-top:1px solid var(--line);
         display:flex;flex-wrap:wrap;gap:10px 34px;
         font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--greige-deep)}

  .band{background:var(--mist);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
  .index{margin-top:clamp(40px,6vh,70px)}
  .index a{display:flex;align-items:baseline;justify-content:space-between;gap:20px;
           padding:clamp(26px,4.5vh,44px) 0;border-top:1px solid var(--line);cursor:default}
  .index a:last-child{border-bottom:1px solid var(--line)}
  .index .word{font-size:clamp(30px,5.8vw,66px);font-weight:300;letter-spacing:.16em;
               line-height:1;color:var(--ink);transition:letter-spacing .5s ease}
  .index a:hover .word{letter-spacing:.22em}
  .index .state{font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--greige-deep);
                white-space:nowrap;padding-bottom:6px}

  .phil-title{font-family:var(--serif);font-size:clamp(26px,3.4vw,42px);font-weight:400;line-height:1.4;
              max-width:16em;margin-bottom:clamp(26px,4vh,40px)}
  .phil-body{max-width:34em;color:rgba(43,40,36,.72);font-size:clamp(15.5px,1.5vw,17.5px)}
  .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px);
           margin-top:clamp(64px,9vh,110px)}
  .pillar{border-top:1px solid var(--ink);padding-top:22px}
  .pillar .no{font-size:11px;letter-spacing:.3em;color:var(--greige-deep)}
  .pillar h3{font-family:var(--serif);font-size:21px;font-weight:500;margin:14px 0 10px}
  .pillar h3 em{font-style:normal;font-size:13px;color:var(--greige-deep);margin-left:10px;letter-spacing:.08em}
  .pillar p{font-size:14.5px;color:rgba(43,40,36,.62)}

  footer{background:var(--ink);color:rgba(242,236,225,.75);padding:clamp(84px,12vh,140px) 0 46px}
  footer .eyebrow{font-size:17px}
  footer .logo-f img{height:15px;width:auto;opacity:.9}
  .mails{margin:clamp(40px,6vh,64px) 0;display:flex;flex-direction:column;gap:14px}
  .mails a{font-family:var(--serif);font-size:clamp(14px,1.5vw,16px);color:var(--ivory);
           width:fit-content;border-bottom:1px solid rgba(242,236,225,.25);padding-bottom:4px;
           transition:border-color .3s}
  .mails a:hover{border-color:var(--ivory)}
  .mails .role{font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;
               color:rgba(242,236,225,.4);display:block;margin-bottom:6px}
  .foot-meta{display:flex;flex-wrap:wrap;gap:8px 30px;padding-top:30px;border-top:1px solid rgba(242,236,225,.12);
             font-size:12px;letter-spacing:.14em;color:rgba(242,236,225,.42)}
  .foot-meta .copyright{margin-left:auto}

  /* KO판 연락처 크기 보정 */
  html[lang="ko"] footer .eyebrow{font-size:19px;letter-spacing:.3em}
  html[lang="ko"] .mails .role{font-size:13.5px;letter-spacing:.18em}
  html[lang="ko"] .mails a{font-size:clamp(15px,1.6vw,17px)}
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){
    .reveal{opacity:1;transform:none;transition:none}
    .hero .cue{animation:none}
    html{scroll-behavior:auto}
  }

  @media (max-width:900px){
    nav.desktop{display:none}
    .burger{display:block}
    .grid{grid-template-columns:1fr;gap:22px}
    .pillars{grid-template-columns:1fr;gap:34px}
    .index a{flex-direction:column;align-items:flex-start;gap:10px}
    .statement br.st-br{display:none}
    .foot-meta .copyright{width:100%;text-align:center;margin-left:0;margin-top:26px}
    .facts{display:grid;grid-template-columns:1fr auto;gap:14px 18px}
    .facts span:nth-child(even){text-align:right}
  }
