/* === Cask Management Page === */

/* Hero */
.cmg-hero {
  position: relative; overflow: hidden;
  padding: 100px 24px 80px; text-align: center;
}
.cmg-hero-bg {
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse 70% 50% at 50% 40%, rgba(180,120,30,.14), transparent 60%),
    radial-gradient(ellipse 40% 70% at 20% 70%, rgba(100,60,10,.12), transparent 55%),
    linear-gradient(175deg, #1a1208 0%, #0c0a06 50%, #0a0806 100%);
}
.cmg-hero-inner {
  position: relative; z-index: 2;
  max-width: 720px; margin: 0 auto;
}
.cmg-hero h1 {
  font-family: var(--serif);
  font-size: clamp(42px, 6vw, 72px); font-weight: 600;
  line-height: 1.08; margin-bottom: 20px;
}
.cmg-hero h1 em { color: var(--gold); font-style: italic }
.cmg-hero-sub {
  font-size: 17px; color: var(--text2); line-height: 1.7;
  max-width: 600px; margin: 0 auto;
}

/* Generic section */
.cmg-section,
.cmg-pillars-section,
.cmg-risks-section,
.cmg-services-section {
  border-top: 1px solid var(--line);
}
.cmg-section { background: var(--dark) }
.cmg-pillars-section {
  background: linear-gradient(180deg, var(--dark2) 0%, var(--dark) 100%);
}
.cmg-risks-section {
  background: linear-gradient(180deg, var(--dark) 0%, var(--dark2) 100%);
}
.cmg-services-section {
  background: linear-gradient(180deg, var(--dark2) 0%, var(--dark) 100%);
  border-bottom: 1px solid var(--line);
}
.cmg-section-inner {
  max-width: 1060px; margin: 0 auto;
  padding: 70px 24px;
}
.cmg-body-intro {
  text-align: center; font-size: 16px; color: var(--text2);
  line-height: 1.75; max-width: 700px; margin: 0 auto;
}

/* Three Pillars */
.cmg-pillars {
  display: flex; flex-direction: column; gap: 28px;
}
.cmg-pillar-card {
  background: linear-gradient(160deg, rgba(35,28,18,.7), rgba(20,16,10,.7));
  border: 1px solid var(--line);
  border-radius: 14px; padding: 36px 32px;
  position: relative;
  transition: border-color .2s;
}
.cmg-pillar-card:hover { border-color: rgba(201,168,76,.3) }
.cmg-pillar-card--featured {
  border-color: rgba(201,168,76,.3);
  box-shadow: 0 0 40px rgba(201,168,76,.06);
}
.cmg-pillar-number {
  font-family: var(--serif); font-size: 13px; font-weight: 700;
  color: var(--gold); opacity: .5;
  position: absolute; top: 20px; right: 24px;
  letter-spacing: 1px;
}
.cmg-pillar-icon {
  width: 48px; height: 48px; border-radius: var(--r);
  background: var(--gold-dim); border: 1px solid rgba(201,168,76,.25);
  display: grid; place-items: center; margin-bottom: 18px;
  color: var(--gold);
}
.cmg-pillar-card h3 {
  font-family: var(--serif); font-size: 22px; font-weight: 600;
  color: var(--text); margin-bottom: 12px;
}
.cmg-pillar-card > p {
  font-size: 15px; color: var(--text2); line-height: 1.7; margin-bottom: 20px;
}
.cmg-pillar-card strong { color: var(--text); font-weight: 600 }
.cmg-pillar-points {
  list-style: none; padding: 0; margin: 0 0 20px;
}
.cmg-pillar-points li {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 14px; color: var(--text2); line-height: 1.55;
  padding: 6px 0;
}
.cmg-pillar-points li strong { color: var(--text) }
.cmg-pillar-callout {
  display: flex; align-items: flex-start; gap: 10px;
  font-size: 13px; color: var(--text3); line-height: 1.55;
  padding: 14px 16px;
  background: rgba(201,168,76,.04);
  border: 1px solid rgba(201,168,76,.12);
  border-radius: 8px;
}
.cmg-pillar-callout i { color: var(--gold); margin-top: 1px }

/* Risk Grid */
.cmg-risk-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;
}
.cmg-risk-card {
  background: linear-gradient(160deg, rgba(40,22,22,.4), rgba(20,14,14,.4));
  border: 1px solid rgba(194,80,80,.15);
  border-radius: 12px; padding: 28px 24px;
  transition: border-color .2s, transform .2s;
}
.cmg-risk-card:hover {
  border-color: rgba(194,80,80,.35);
  transform: translateY(-2px);
}
.cmg-risk-icon {
  width: 40px; height: 40px; border-radius: var(--r);
  background: rgba(194,80,80,.08); border: 1px solid rgba(194,80,80,.2);
  display: grid; place-items: center; margin-bottom: 14px;
  color: rgba(220,120,120,.9);
}
.cmg-risk-card h3 {
  font-family: var(--serif); font-size: 17px; font-weight: 600;
  color: rgba(220,120,120,.9); margin-bottom: 8px;
}
.cmg-risk-card p {
  font-size: 13px; color: var(--text2); line-height: 1.6;
}

/* Service Grid */
.cmg-service-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;
  margin-bottom: 48px;
}
.cmg-service-card {
  background: linear-gradient(160deg, rgba(35,28,18,.6), rgba(20,16,10,.6));
  border: 1px solid var(--line);
  border-radius: 12px; padding: 28px 24px;
  transition: border-color .2s, transform .2s;
}
.cmg-service-card:hover {
  border-color: rgba(201,168,76,.3);
  transform: translateY(-2px);
}
.cmg-service-icon {
  width: 40px; height: 40px; border-radius: var(--r);
  background: var(--gold-dim); border: 1px solid rgba(201,168,76,.2);
  display: grid; place-items: center; margin-bottom: 14px;
  color: var(--gold);
}
.cmg-service-card h3 {
  font-family: var(--serif); font-size: 17px; font-weight: 600;
  color: var(--text); margin-bottom: 8px;
}
.cmg-service-card p {
  font-size: 13px; color: var(--text2); line-height: 1.6;
}

/* Comparison */
.cmg-compare {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.cmg-compare-col { border-radius: 12px; padding: 24px }
.cmg-compare--without {
  background: rgba(232,122,122,.04);
  border: 1px solid rgba(232,122,122,.15);
}
.cmg-compare--with {
  background: rgba(201,168,76,.04);
  border: 1px solid rgba(201,168,76,.2);
}
.cmg-compare-header {
  display: flex; align-items: center; gap: 8px;
  font-size: 14px; font-weight: 600; margin-bottom: 14px;
}
.cmg-compare--without .cmg-compare-header { color: #e87a7a }
.cmg-compare--with .cmg-compare-header { color: var(--gold) }
.cmg-compare ul { list-style: none; padding: 0; margin: 0 }
.cmg-compare li {
  font-size: 13px; color: var(--text2); line-height: 1.55;
  padding: 6px 0 6px 20px; position: relative;
}
.cmg-compare li::before {
  content: ''; position: absolute; left: 0; top: 12px;
  width: 6px; height: 6px; border-radius: 50%;
}
.cmg-compare--without li::before { background: rgba(232,122,122,.4) }
.cmg-compare--with li::before { background: rgba(201,168,76,.5) }

/* Responsive */
@media (max-width: 700px) {
  .cmg-hero { padding: 80px 20px 60px }
  .cmg-hero-sub { font-size: 15px }
  .cmg-section-inner { padding: 50px 20px }
  .cmg-risk-grid,
  .cmg-service-grid,
  .cmg-compare { grid-template-columns: 1fr }
  .cmg-pillar-card { padding: 28px 20px }
  .cmg-pillar-card h3 { font-size: 19px }
}
