/* ===== Scope / Theme ===== */
.radga-home{
  --bg:#0f0f10; --fg:#f2f2f2; --muted:#a6a6a6; --line:#262626;
  --max:1200px; --gutter:clamp(16px,4vw,40px); --radius:18px;
  background:var(--bg); color:var(--fg); font-synthesis-weight:none;
}
.radga-home *{ box-sizing:border-box }
.radga-home img{ display:block; width:100%; height:auto }

/* ===== Container ===== */
.radga-home .rh-container{ width:min(100% - 2*var(--gutter), var(--max)); margin-inline:auto }

/* ===== Header ===== */
.radga-home .rh-header{ position:sticky; top:0; z-index:20; background:linear-gradient(#0f0f10,#0f0f10cc 60%,#0f0f1000); backdrop-filter:saturate(1.1) blur(6px); border-bottom:1px solid var(--line) }
.radga-home .rh-header .rh-container{ display:flex; align-items:center; gap:20px; padding-block:12px }
.radga-home .rh-logo{ color:#fff; text-decoration:none; font-weight:800; letter-spacing:.1em; }
.radga-home .rh-logo span{ border:1px solid #3a3a3a; padding:.45rem .6rem; display:inline-block; font-size:14px }
.radga-home .rh-nav{ margin-left:auto; display:flex; gap:18px; align-items:center }
.radga-home .rh-nav a{ color:#dcdcdc; text-decoration:none; font-size:14px; letter-spacing:.02em; padding:.4rem .6rem; border-radius:999px; border:1px solid transparent; }
.radga-home .rh-nav a:hover{ border-color:#3a3a3a; background:#141416 }
.radga-home .rh-burger{ display:none; margin-left:auto; width:40px; height:40px; border:1px solid #333; border-radius:8px; background:#151515; color:#fff }
.radga-home .rh-burger i{ display:block; width:18px; height:2px; background:#fff; margin:6px auto }

/* ===== Hero ===== */
.radga-home .rh-hero{ position:relative; min-height:92vh; border-bottom:1px solid var(--line); overflow:hidden }
.radga-home .rh-hero-bg{ position:absolute; inset:0; }
.radga-home .rh-hero-bg::before{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,#0006,#0000 30%,#0003 70%,#000c); z-index:1 }
.radga-home .rh-hero-bg .slide{
  position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transform:scale(1.04);
  transition: opacity .6s ease, transform 3s cubic-bezier(.22,.61,.36,1);
}
.radga-home .rh-hero-bg .slide.is-active{ opacity:1; transform:scale(1); }

.radga-home .rh-hero-inner{ position:relative; z-index:2; padding-top:18vh }
.radga-home .rh-hero-title{ font-size: clamp(36px, 7vw, 110px); line-height:.95; letter-spacing:-.02em; margin:0 0 .6rem }
.radga-home .rh-hero-title .line{ display:block; overflow:hidden }
.radga-home .rh-hero-sub{ color:var(--muted); margin:.5rem 0 0; font-size:clamp(14px,2vw,18px) }

.radga-home .rh-hero-ui{ position:absolute; left:0; right:0; bottom:18px; z-index:2; display:flex; align-items:center; gap:16px; padding-inline:var(--gutter) }
.radga-home .rh-hero-index{ letter-spacing:.25em; font-size:12px; color:#ededed; }
.radga-home .rh-hero-index .sep{ margin-inline:6px; opacity:.65 }
.radga-home .rh-hero-arrows{ margin-left:auto; display:flex; gap:10px }
.radga-home .rh-hero-arrows button{ width:44px; height:36px; border:1px solid #3a3a3a; border-radius:10px; background:#141416; color:#fff; cursor:pointer }
.radga-home .rh-hero-progress{ position:relative; flex:0 0 180px; height:2px; background:#2d2d2d; border-radius:2px; overflow:hidden }
.radga-home .rh-hero-progress span{ position:absolute; inset:0 auto 0 0; width:0%; background:#fff; opacity:.9 }

@media (max-width:900px){
  .radga-home .rh-nav{ display:none }
  .radga-home .rh-burger{ display:block }
}

/* ===== Intro ===== */
.radga-home .rh-intro{ padding-block:10vh; border-bottom:1px solid var(--line) }
.radga-home .rh-intro-grid{ display:grid; gap:clamp(16px,4vw,40px); grid-template-columns:1fr; }
@media (min-width:980px){ .radga-home .rh-intro-grid{ grid-template-columns:1.2fr .8fr } }
.radga-home .rh-intro h2{ font-size: clamp(24px, 4vw, 48px); margin:0 0 .6rem }
.radga-home .rh-intro p{ color:var(--muted); margin:0 }
.radga-home .rh-kpis{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; align-content:start }
.radga-home .kpi{ border:1px solid var(--line); padding:16px 14px; border-radius:14px; text-align:center }
.radga-home .kpi b{ display:block; font-size:clamp(22px,4.5vw,34px) }
.radga-home .kpi span{ color:var(--muted); font-size:13px }

/* ===== Projects Teaser ===== */
.radga-home .rh-projects{ padding-block:10vh; border-bottom:1px solid var(--line) }
.radga-home .rh-grid{
  display:grid; gap:clamp(14px,2vw,22px);
  grid-template-columns: repeat(12, 1fr);
}
.radga-home .rh-card{ grid-column:span 12; text-decoration:none; color:inherit; opacity:0; transform:translateY(22px); transition:opacity .6s ease, transform .6s ease }
@media (min-width:900px){
  .radga-home .rh-card:nth-child(3n+1){ grid-column: span 7 }
  .radga-home .rh-card:nth-child(3n+2){ grid-column: span 5 }
  .radga-home .rh-card:nth-child(3n+3){ grid-column: span 12 }
}
.radga-home .rh-fig{ position:relative; overflow:hidden; border-radius:var(--radius); background:#111 }
.radga-home .rh-fig img{ transform:scale(1.06); transition: transform .8s cubic-bezier(.22,.61,.36,1) }
.radga-home .rh-card:hover .rh-fig img{ transform:scale(1) }
.radga-home .rh-cap{ position:absolute; inset:auto 16px 14px 16px; color:#fff; background:linear-gradient(180deg,#0000,#0009 70%); padding:12px 14px; border-radius:12px }
.radga-home .rh-cap h3{ margin:0; font-size: clamp(18px,2.2vw,24px) }
.radga-home .rh-cap p{ margin:.15rem 0 0; font-size:13px; opacity:.85 }
.radga-home .rh-cap .view{ display:inline-block; margin-top:.35rem; font-size:12px; letter-spacing:.2em; opacity:0; transform:translateY(6px); transition:.25s }
.radga-home .rh-card:hover .rh-cap .view{ opacity:1; transform:translateY(0) }
.radga-home .rh-card.is-in{ opacity:1; transform:translateY(0) }

/* ===== CTA ===== */
.radga-home .rh-cta{ padding-block:14vh; text-align:center; border-bottom:1px solid var(--line) }
.radga-home .rh-cta h2{ font-size: clamp(28px, 5vw, 64px); margin:0 0 1rem }
.radga-home .rh-btn{
  display:inline-block; padding:.9rem 1.1rem; border:1px solid #3a3a3a; border-radius:999px; color:#fff; text-decoration:none; background:#141416;
}
.radga-home .rh-btn:hover{ background:#1a1b1e; border-color:#585858 }

/* ===== Footer ===== */
.radga-home .rh-footer{ padding-top:6vh }
.radga-home .rh-footer-grid{ display:grid; gap:clamp(14px,2vw,22px); grid-template-columns:1fr; padding-bottom:20px }
@media (min-width:900px){ .radga-home .rh-footer-grid{ grid-template-columns: 1.1fr 1fr .8fr } }
.radga-home .rh-mark{ display:inline-block; border:1px solid #3a3a3a; padding:.45rem .6rem; font-weight:800; letter-spacing:.1em; margin-bottom:.6rem }
.radga-home .rh-footer a{ color:#e9e9e9; text-decoration:none }
.radga-home .rh-social{ display:flex; gap:12px }
.radga-home .rh-footer-bottom{ border-top:1px solid var(--line); padding:14px 0; font-size:12px; color:#bdbdbd }
.radga-home .rh-footer-bottom .rh-container{ display:flex; gap:12px; align-items:center }
.radga-home .rh-footer-bottom .privacy{ margin-left:auto; color:#cfcfcf; text-decoration:none }

/* ===== Simple reveal（無套件） ===== */
.radga-home .reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease }
.radga-home .reveal.is-in{ opacity:1; transform:translateY(0) }





/**/
.slider-col{
	height:100svh;
}