/* =========================================================
   ULTRA THEORY — Footer  (子テーマ: anthem_tcd083_child/css/footer.css)
   ※ 全セレクタを .ut-footer 配下にスコープ。既存CSSと衝突しない。
   ※ グローバルな * リセットや body 指定は一切なし。
   ========================================================= */

.ut-footer{
  --ut-bg-0:#0b0b0d;
  --ut-bg-1:#050506;
  --ut-ink:#ece9e3;
  --ut-ink-dim:#8d8a85;
  --ut-ink-faint:#56534f;
  --ut-line:rgba(255,255,255,.07);
  --ut-accent:#df4536;
  --ut-accent-soft:#e8675a;
  --ut-serif:"Cormorant Garamond",serif;
  --ut-mincho:"Zen Old Mincho",serif;
  --ut-gothic:"Zen Kaku Gothic New",sans-serif;

  position:relative;
  background:linear-gradient(180deg,var(--ut-bg-0) 0%,var(--ut-bg-1) 100%);
  color:var(--ut-ink);
  overflow:hidden;
  isolation:isolate;
  font-family:var(--ut-gothic);
  line-height:1.6;
}
.ut-footer *{box-sizing:border-box;}

/* 背景に薄く彫り込んだ巨大ワードマーク */
.ut-footer::before{
  content:"ULTRA THEORY";
  position:absolute;left:50%;top:46%;
  transform:translate(-50%,-50%);
  font-family:var(--ut-serif);font-weight:700;
  font-size:clamp(80px,17vw,240px);
  letter-spacing:.06em;
  color:rgba(255,255,255,.018);
  white-space:nowrap;pointer-events:none;z-index:0;
}

/* 上端を流れる波（波動論モチーフ） */
.ut-footer .ut-wave{position:relative;height:64px;width:100%;overflow:hidden;z-index:1;}
.ut-footer .ut-wave svg{position:absolute;bottom:0;left:0;width:200%;height:100%;
  animation:utWaveDrift 22s linear infinite;}
@keyframes utWaveDrift{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.ut-footer .ut-inner{
  position:relative;z-index:2;max-width:1120px;margin:0 auto;
  padding:18px 40px 0;display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:48px;
}

/* brand */
.ut-footer .ut-brand{max-width:360px;}
.ut-footer .ut-logo{font-family:var(--ut-serif);font-weight:600;font-size:30px;
  letter-spacing:.22em;line-height:1;color:var(--ut-ink);text-transform:uppercase;margin:0;}
.ut-footer .ut-logo .dot{color:var(--ut-accent);}
.ut-footer .ut-tagline{font-family:var(--ut-mincho);font-size:15px;letter-spacing:.14em;
  color:var(--ut-ink);margin:20px 0 0;line-height:1.9;}
.ut-footer .ut-desc{font-size:12.5px;color:var(--ut-ink-dim);line-height:2;margin:14px 0 0;letter-spacing:.04em;}
.ut-footer .ut-rhombus{display:inline-flex;align-items:center;gap:10px;margin-top:24px;
  color:var(--ut-ink-faint);font-size:11px;letter-spacing:.2em;}
.ut-footer .ut-rhombus i{width:9px;height:9px;background:var(--ut-accent);transform:rotate(45deg);
  display:inline-block;box-shadow:0 0 12px rgba(223,69,54,.6);}

/* nav columns */
.ut-footer .ut-col h4{font-family:var(--ut-serif);font-size:13px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--ut-ink-dim);font-weight:600;
  padding-bottom:16px;margin:0 0 18px;border-bottom:1px solid var(--ut-line);position:relative;}
.ut-footer .ut-col h4::after{content:"";position:absolute;left:0;bottom:-1px;width:28px;height:1px;background:var(--ut-accent);}
.ut-footer .ut-col ul{list-style:none;margin:0;padding:0;}
.ut-footer .ut-col li{margin-bottom:13px;}
.ut-footer .ut-col a{display:inline-flex;align-items:center;color:var(--ut-ink);text-decoration:none;
  font-size:13.5px;letter-spacing:.06em;line-height:1.5;
  transition:color .25s ease,transform .25s ease;}
.ut-footer .ut-col a::before{content:"";width:0;height:1px;background:var(--ut-accent);margin-right:0;
  transition:width .28s cubic-bezier(.4,0,.2,1),margin-right .28s cubic-bezier(.4,0,.2,1);}
.ut-footer .ut-col a:hover{color:var(--ut-accent-soft);transform:translateX(2px);}
.ut-footer .ut-col a:hover::before{width:18px;margin-right:10px;}
.ut-footer .ut-col a .tag{font-size:9px;letter-spacing:.15em;border:1px solid var(--ut-line);
  color:var(--ut-ink-faint);padding:1px 6px;margin-left:8px;border-radius:2px;text-transform:uppercase;}

/* bottom bar */
.ut-footer .ut-bottom{position:relative;z-index:2;max-width:1120px;margin:48px auto 0;
  padding:22px 40px 28px;border-top:1px solid var(--ut-line);
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.ut-footer .ut-copy{display:flex;align-items:center;gap:11px;color:var(--ut-ink-dim);font-size:11.5px;letter-spacing:.12em;}
.ut-footer .ut-copy .diamond{width:7px;height:7px;background:var(--ut-accent);transform:rotate(45deg);display:inline-block;}
.ut-footer .ut-meta{display:flex;gap:26px;}
.ut-footer .ut-meta a{color:var(--ut-ink-faint);text-decoration:none;font-size:11px;letter-spacing:.1em;transition:color .25s ease;}
.ut-footer .ut-meta a:hover{color:var(--ut-ink);}

/* responsive */
@media(max-width:860px){
  .ut-footer .ut-inner{grid-template-columns:1fr 1fr;gap:40px 32px;padding:14px 26px 0;}
  .ut-footer .ut-brand{grid-column:1 / -1;max-width:none;}
  .ut-footer::before{font-size:84px;top:38%;}
}
@media(max-width:520px){
  .ut-footer .ut-inner{grid-template-columns:1fr;gap:34px;padding:12px 24px 0;}
  .ut-footer .ut-bottom{flex-direction:column;align-items:flex-start;padding:22px 24px 26px;}
  .ut-footer .ut-meta{flex-wrap:wrap;gap:14px 22px;}
  .ut-footer .ut-logo{font-size:26px;}
}
