/* ===========================
  GUIDE
=========================== */
.page-guide .container{
  width: var(--container);
  margin: 0 auto;
}

/* HERO */
.g-hero{
  padding: 44px 0 22px;
  background: #f3f6ff;
}
.g-hero-inner{
  display: grid;
  grid-template-columns: 1.6fr .9fr;
  gap: 18px;
  align-items: start;
}
.g-kicker{ margin: 0 0 6px; letter-spacing: .12em; font-size: 12px; opacity: .7; }
.g-title{ margin: 0 0 10px; font-size: clamp(22px, 3vw, 34px); font-weight: 900; }
.g-lead{ margin: 0; color: rgba(15,23,42,.75); line-height: 1.8; }

.g-hero-actions{ margin-top: 14px; display:flex; gap: 10px; flex-wrap: wrap; }

.g-mini{ margin-top: 10px; display:flex; gap: 10px; flex-wrap: wrap; }
.mini-link{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  text-decoration: none;
  color: inherit;
  font-weight: 900;
  font-size: 13px;
}

/* side */
.g-side-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  padding: 14px;
}
.g-side-head{ margin-bottom: 8px; }
.g-badge{
  display: inline-block;
  font-weight: 900;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
}
.g-side-list{
  margin: 0;
  padding-left: 1.2em;
  color: rgba(15,23,42,.78);
  line-height: 1.9;
}
.g-side-cta{
  margin-top: 10px;
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 12px;
  border-radius: 16px;
  text-decoration:none;
  color: inherit;
  border: 1px solid rgba(0,0,0,.10);
  background: #f7f8ff;
  font-weight: 900;
}

/* STICKY TABS */
.g-sticky{
  position: sticky;
  top: var(--header-h-pc, 96px);
  z-index: 20;
  background: rgba(255,255,255,.88);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.g-sticky-inner{
  padding: 10px 0;
  display:flex;
  gap: 10px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.g-tab{
  flex: 0 0 auto;
  display:inline-flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  text-decoration:none;
  color: inherit;
  font-weight: 900;
  font-size: 13px;
}

/* SECTION */
.g-section{ padding: 26px 0; }
.g-section--soft{ background: #f8fafc; }

.g-head.center{ text-align:center; }
.section-title{ margin: 0 0 10px; font-size: 22px; font-weight: 900; }
.section-note{ margin: 0; color: rgba(15,23,42,.72); }

/* STEPS */
.g-steps{ margin-top: 18px; display: grid; gap: 16px; }

.g-step{
  background: #fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  overflow: hidden;
}
.g-step-head{
  display:flex;
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  background: #f3f6ff;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.g-step-no{
  width: 34px; height: 34px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  background: #0f172a;
  color: #fff;
  font-weight: 900;
}
.g-step-title h3{ margin: 0; font-size: 18px; font-weight: 900; }
.g-step-title p{ margin: 4px 0 0; color: rgba(15,23,42,.72); }

.g-step-body{
  padding: 16px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 16px;
}
.g-step-media{ display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.g-step-media--cards{ grid-template-columns: repeat(3, 1fr); }
.g-img{
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}
.g-img img{ width: 100%; height: 100%; object-fit: cover; display:block; }

.g-mini-card{
  display:block;
  text-decoration:none;
  color: inherit;
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(0,0,0,.08);
  background: #fff;
}
.g-mini-card img{ width: 100%; height: 120px; object-fit: cover; display:block; }
.g-mini-card span{
  display:block;
  padding: 10px 12px;
  font-weight: 900;
}

.g-points{
  margin: 0;
  padding-left: 1.2em;
  color: rgba(15,23,42,.78);
  line-height: 1.9;
}
.g-step-points--full{ grid-column: 1 / -1; }

/* accordions */
.g-acc{
  margin-top: 12px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 16px;
  overflow:hidden;
}
.g-acc summary{
  list-style:none;
  cursor:pointer;
  padding: 12px 12px;
  font-weight: 900;
  display:flex;
  justify-content: space-between;
  align-items:center;
}
.g-acc summary::-webkit-details-marker{ display:none; }
.g-acc[open] .acc-arrow{ transform: rotate(180deg); }
.acc-arrow{ transition: transform .18s ease; opacity: .7; }
.g-acc-body{ padding: 0 12px 12px; color: rgba(15,23,42,.75); line-height: 1.9; }

/* AREA cards */
.area-grid{
  margin-top: 18px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}
.area-card{
  background:#fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  padding: 16px;
}
.area-head h3{ margin: 0 0 6px; font-size: 18px; font-weight: 900; display:flex; gap:10px; align-items:center; }
.area-head p{ margin: 0; color: rgba(15,23,42,.72); }

.item-icons{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(5, minmax(0,1fr));
  gap: 10px;
}
.item{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 16px;
  padding: 10px 8px;
  text-align:center;
  background: #fff;
}
.item i{ font-size: 18px; display:block; margin-bottom: 6px; opacity: .85; }
.item span{ font-size: 12px; font-weight: 900; opacity: .9; }

.area-acc{ margin-top: 12px; border: 1px solid rgba(0,0,0,.10); border-radius: 16px; overflow:hidden; }
.area-acc summary{
  list-style:none; cursor:pointer;
  padding: 12px 12px; font-weight: 900;
  display:flex; justify-content: space-between; align-items:center;
}
.area-acc summary::-webkit-details-marker{ display:none; }
.area-acc[open] .acc-arrow{ transform: rotate(180deg); }
.area-acc-body{ padding: 0 12px 12px; color: rgba(15,23,42,.75); line-height: 1.9; }

/* RULES */
.rules-wrap{ margin-top: 18px; display:grid; gap: 12px; }
.rules-item{
  background:#fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  overflow:hidden;
}
.rules-item summary{
  list-style:none;
  cursor:pointer;
  padding: 14px 16px;
  display:flex;
  justify-content: space-between;
  align-items:center;
  font-weight: 900;
}
.rules-item summary::-webkit-details-marker{ display:none; }
.rules-item[open] .acc-arrow{ transform: rotate(180deg); }
.rules-ttl{ display:flex; gap:10px; align-items:center; }
.rules-body{
  padding: 0 16px 16px;
  color: rgba(15,23,42,.78);
  line-height: 1.9;
}
.rules-body ul{ margin: 0; padding-left: 1.2em; }

.g-callout{
  margin-top: 14px;
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 12px;
  border-radius: 18px;
  background: #f7f8ff;
  border: 1px solid rgba(30,32,132,.20);
}
.g-callout i{ margin-top: 2px; }
.callout-title{ margin: 0 0 4px; font-weight: 900; }
.callout-text{ margin: 0; color: rgba(15,23,42,.75); line-height: 1.8; }

/* SCHEDULE card */
.sch-card{
  background:#fff;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  padding: 16px;
  display:flex;
  justify-content: space-between;
  align-items:center;
  gap: 14px;
  flex-wrap: wrap;
}
.sch-text h2{ margin: 0 0 6px; font-size: 18px; font-weight: 900; }
.sch-text p{ margin: 0; color: rgba(15,23,42,.72); line-height: 1.8; }
.sch-actions{ display:flex; gap: 10px; flex-wrap: wrap; }

/* responsive */
@media (max-width: 960px){
  .g-hero-inner{ grid-template-columns: 1fr; }
  .g-step-body{ grid-template-columns: 1fr; }
  .g-step-media--cards{ grid-template-columns: 1fr; }
  .area-grid{ grid-template-columns: 1fr; }
  .item-icons{ grid-template-columns: repeat(3, minmax(0,1fr)); }
  .g-sticky{ top: var(--header-h-sp, 76px); }
}