/* UKEY LAND FILM — 全ページ共通（色・フォント・ヘッダー・フッター）。土台は v33-top */
:root{
  --navy:#1A1F2E; --gold:#C9A96E; --gold-ink:#8C6D3A; --paper:#F5F0E8; --charcoal:#4A4A4A;
  --serif-en:'Cormorant Garamond','Times New Roman',Times,serif;
  --serif-jp:'Noto Serif JP','Hiragino Mincho ProN',serif;
  --sans:'Inter',system-ui,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{background:var(--paper)}
body{background:var(--paper);color:var(--navy);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
::selection{background:var(--navy);color:var(--paper)}
img{max-width:100%}

/* ── Header ── */
.header{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:28px clamp(20px,4vw,56px);color:var(--navy);transition:color .8s var(--ease),background .6s var(--ease),padding .6s var(--ease)}
.header.on-photo{color:var(--paper)}
.header.solid{background:rgba(245,240,232,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding-block:18px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{width:56px;height:56px;margin:-14px -10px}
.brand span{font-family:'Times New Roman',Times,serif;font-size:12px;letter-spacing:.28em}
.nav{display:flex;align-items:center;gap:clamp(18px,3vw,40px)}
.nav a{font-family:var(--serif-en);font-size:14px;letter-spacing:.16em;opacity:.85;transition:opacity .4s}
.nav a:hover,.nav a[aria-current]{opacity:1}
.nav a[aria-current]{border-bottom:1px solid var(--gold);padding-bottom:2px}
.nav .lang{font-size:12px;letter-spacing:.24em;border:1px solid currentColor;padding:4px 10px;opacity:.7}
.menu-btn{display:none;width:40px;height:40px;background:none;border:0;color:inherit;cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:9px;right:9px;height:1px;background:currentColor;transition:transform .4s var(--ease),opacity .3s}
.menu-btn span:nth-child(1){top:15px}.menu-btn span:nth-child(2){top:24px}
.menu-open .menu-btn span:nth-child(1){transform:translateY(4.5px) rotate(45deg)}
.menu-open .menu-btn span:nth-child(2){transform:translateY(-4.5px) rotate(-45deg)}

/* ── Footer ── */
.site-footer{display:flex;flex-direction:column;align-items:center;gap:6px;padding:72px 24px 48px;font-size:11px;letter-spacing:.14em;line-height:1.9;color:var(--charcoal);text-align:center;border-top:1px solid rgba(201,169,110,.35)}
.site-footer img{width:60px}
.site-footer .links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 22px;margin:10px 0 14px;font-family:var(--serif-en);font-size:13px;letter-spacing:.16em}
.site-footer .links a{opacity:.8}.site-footer .links a:hover{opacity:1}
.site-footer .copy{font-family:var(--serif-en);font-style:italic;letter-spacing:.2em;margin-top:8px}

/* 下層ページはヘッダーの高さ分だけ下げる */
.page{padding-top:96px}

/* ── 共通の部品（チーム・プライバシー・英語ページで使う） ── */
.reveal{opacity:0;transform:translateY(18px);transition:opacity 1.2s var(--ease),transform 1.2s var(--ease)}
.reveal.in{opacity:1;transform:none}
.eyebrow{font-family:var(--serif-en);font-style:italic;font-size:13px;letter-spacing:.4em;color:var(--gold-ink)}
.display{font-family:var(--serif-en);font-weight:300;font-size:clamp(52px,8vw,112px);line-height:1;letter-spacing:.01em}
.wrap{max-width:1160px;margin:0 auto;padding-inline:clamp(20px,5vw,48px)}
.btn{display:inline-block;padding:18px 56px;border:1px solid var(--gold);color:var(--navy);font-family:var(--serif-jp);font-size:14px;letter-spacing:.3em;transition:background .6s var(--ease),color .6s var(--ease)}
.btn:hover{background:var(--gold);color:var(--paper)}
.btn.fill{background:var(--gold);color:var(--navy)}
.btn.fill:hover{background:var(--navy);border-color:var(--navy);color:var(--paper)}

@media (max-width:760px){
  .menu-btn{display:block}
  .nav{position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;gap:28px;background:var(--paper);color:var(--navy);opacity:0;pointer-events:none;transition:opacity .5s var(--ease)}
  .nav a{font-size:22px}
  .menu-open .nav{opacity:1;pointer-events:auto}
  .menu-open.header{color:var(--navy)}
  .page{padding-top:80px}
}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}
