/* ===========================================
   D3319 Healthcare — Custom Styles (Ver 6.5)
   =========================================== */

:root{
  --d3319-navy: #0b2540;
  --d3319-navy-deep:#071a30;
  --d3319-teal: #12707d;
  --d3319-teal-light:#1c98a6;
  --d3319-gold:#d4a94a;
  --d3319-ink:#101820;
  --d3319-mist:#f4f8fa;
}

html{scroll-behavior:smooth;}

body{
  font-family:'Noto Sans KR','Inter',sans-serif;
  background:var(--d3319-mist);
  color:var(--d3319-ink);
}

.font-display{
  font-family:'Inter','Noto Sans KR',sans-serif;
}

/* Hero background */
.hero-bg{
  background:
    radial-gradient(1100px 550px at 85% -10%, rgba(28,152,166,.35), transparent 60%),
    radial-gradient(900px 500px at -10% 110%, rgba(212,169,74,.18), transparent 55%),
    linear-gradient(150deg, var(--d3319-navy-deep) 0%, var(--d3319-navy) 55%, #0d3348 100%);
}

.hero-grid-overlay{
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image: radial-gradient(circle at 70% 30%, black 0%, transparent 70%);
}

.gradient-text{
  background:linear-gradient(90deg,#8fd9e0,#c9e8ec 40%,#e9d9a8);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.badge-pill{
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  backdrop-filter:blur(6px);
}

/* Identity bulletin cards */
.identity-card{
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
  transition:transform .25s ease, border-color .25s ease, background .25s ease;
}
.identity-card:hover{
  transform:translateY(-4px);
  border-color:rgba(212,169,74,.55);
  background:linear-gradient(180deg, rgba(255,255,255,.11), rgba(255,255,255,.03));
}

/* Press widget */
.press-widget{
  background:rgba(8,26,45,.55);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(10px);
}
.press-item{
  border-bottom:1px dashed rgba(255,255,255,.14);
}
.press-item:last-child{border-bottom:none;}

/* Section headers */
.section-tag{
  letter-spacing:.18em;
}

.step-card{
  transition:transform .25s ease, box-shadow .25s ease;
}
.step-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 30px -12px rgba(11,37,64,.25);
}

.step-num{
  background:linear-gradient(135deg,var(--d3319-teal-light),var(--d3319-navy));
}

.eco-card{
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  border:1px solid #e3ebee;
}
.eco-card:hover{
  transform:translateY(-4px);
  border-color:var(--d3319-teal-light);
  box-shadow:0 16px 34px -18px rgba(18,112,125,.4);
}

.marquee-track{
  animation:marquee 28s linear infinite;
}
@keyframes marquee{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

.trust-strip{
  background:linear-gradient(90deg, var(--d3319-navy-deep), var(--d3319-navy));
}

.fade-up{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s ease, transform .7s ease;
}
.fade-up.is-visible{
  opacity:1;
  transform:translateY(0);
}

.btn-primary{
  background:linear-gradient(90deg,var(--d3319-teal-light),var(--d3319-teal));
  box-shadow:0 10px 24px -10px rgba(28,152,166,.55);
}
.btn-primary:hover{filter:brightness(1.08);}

.btn-outline{
  border:1px solid rgba(255,255,255,.4);
}
.btn-outline:hover{background:rgba(255,255,255,.08);}

.nav-link{position:relative;}
.nav-link::after{
  content:'';
  position:absolute;left:0;bottom:-6px;width:0;height:2px;
  background:var(--d3319-teal-light);
  transition:width .25s ease;
}
.nav-link:hover::after{width:100%;}

.scale-hover{transition:transform .3s ease;}
.scale-hover:hover{transform:scale(1.03);}

::selection{background:var(--d3319-gold); color:#101820;}

@media (max-width:768px){
  .hero-grid-overlay{background-size:28px 28px;}
}
