/* ═══════════════════════════════════════════════════════
   HILLMARU GOLF CLUB – SPRING WEEK  |  style.css  v2
   ═══════════════════════════════════════════════════════ */

/* ─── VARIABLES ──────────────────────────────────────── */
:root {
  --green-deep   : #0f3d2e;
  --green-mid    : #1a5c42;
  --green-accent : #7fbf7f;
  --gold         : #c9a96a;
  --gold-light   : #e2c98a;
  --beige        : #f8f5ef;
  --beige-dark   : #ede8df;
  --white        : #ffffff;
  --text-dark    : #1a1a1a;
  --text-muted   : #888888;

  --serif  : 'Cormorant Garamond', Georgia, serif;
  --sans   : 'Inter', 'Noto Sans KR', sans-serif;
  --kr     : 'Noto Sans KR', sans-serif;

  --hh         : 72px;
  --ease       : cubic-bezier(.25,.8,.25,1);
  --t          : .4s;
  --radius     : 4px;
  --shadow     : 0 20px 60px rgba(15,61,46,.12);
}

/* ─── RESET ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:16px; scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body { font-family:var(--sans); color:var(--text-dark); background:var(--white); overflow-x:hidden; }
img  { display:block; width:100%; height:100%; object-fit:cover; }
a    { text-decoration:none; color:inherit; }

/* ─── CONTAINER ──────────────────────────────────────── */
.container { width:100%; max-width:1200px; margin:0 auto; padding:0 24px; }

/* ─── EYEBROW ────────────────────────────────────────── */
.eyebrow {
  font-family : var(--sans);
  font-size   : .7rem;
  font-weight : 600;
  letter-spacing : .28em;
  text-transform : uppercase;
  color : var(--gold);
  display : flex;
  align-items : center;
  justify-content : center;
  gap : 14px;
  margin-bottom : 32px;
}
.eyebrow::before,
.eyebrow::after { content:''; display:block; height:1px; width:36px; background:var(--gold); opacity:.55; }
.eyebrow--left  { justify-content:flex-start; }
.eyebrow--light { color:var(--gold-light); }
.eyebrow--light::before,
.eyebrow--light::after { background:var(--gold-light); }

/* ─── BUTTON ─────────────────────────────────────────── */
.btn {
  display       : inline-flex;
  align-items   : center;
  gap           : 10px;
  padding       : 17px 44px;
  font-family   : var(--kr);
  font-size     : .95rem;
  font-weight   : 600;
  letter-spacing: .06em;
  border-radius : var(--radius);
  border        : 2px solid var(--gold);
  cursor        : pointer;
  position      : relative;
  overflow      : hidden;
  transition    : color var(--t) var(--ease);
  background    : var(--gold);
  color         : var(--green-deep);
}
.btn::after {
  content   : '';
  position  : absolute;
  inset     : 0;
  background: var(--green-deep);
  transform : scaleX(0);
  transform-origin: left;
  transition: transform .45s var(--ease);
  z-index   : 0;
}
.btn:hover::after  { transform:scaleX(1); }
.btn:hover         { color:var(--gold); }
.btn > *           { position:relative; z-index:1; }

.btn--ghost {
  background : transparent;
  color      : var(--white);
}
.btn--ghost::after { background:var(--gold); }
.btn--ghost:hover  { color:var(--green-deep); }

/* ─── HEADER ─────────────────────────────────────────── */
.site-header {
  position  : fixed;
  top:0; left:0; right:0;
  z-index   : 1000;
  height    : var(--hh);
  transition: background var(--t), box-shadow var(--t);
}
.site-header.scrolled {
  background: rgba(15,61,46,.97);
  backdrop-filter:blur(12px);
  box-shadow: 0 2px 28px rgba(0,0,0,.18);
}
.header-inner {
  max-width:1200px; margin:0 auto; padding:0 24px;
  height:100%; display:flex; align-items:center; justify-content:space-between;
}
.logo { display:flex; align-items:center; }
.logo-img {
  height: 42px;
  width: auto;
  object-fit: contain;
  /* 흰색 이미지로 변환 후 골드(#c9a96a) 톤 적용 */
  filter: brightness(0) invert(1) sepia(1) saturate(2.5) hue-rotate(5deg) brightness(0.88);
  transition: filter var(--t);
}
.logo:hover .logo-img {
  filter: brightness(0) invert(1) sepia(1) saturate(3) hue-rotate(5deg) brightness(1.05);
}

.header-nav { display:flex; align-items:center; gap:36px; }
.header-nav a {
  font-size:.78rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.8); transition:color var(--t);
}
.header-nav a:hover { color:var(--gold); }

/* 그린피 강조 버튼 */
.nav-greenfee {
  position:relative;
  color:var(--gold) !important;
  font-weight:600 !important;
  letter-spacing:.12em;
  padding:7px 16px !important;
  border:1px solid rgba(201,169,106,.5);
  border-radius:var(--radius);
  transition:all var(--t) !important;
}
.nav-greenfee::before {
  content:'';
  position:absolute; inset:0;
  border-radius:var(--radius);
  background:rgba(201,169,106,.08);
  opacity:0;
  transition:opacity var(--t);
}
.nav-greenfee:hover {
  color:var(--green-deep) !important;
  background:var(--gold) !important;
  border-color:var(--gold) !important;
  box-shadow:0 4px 16px rgba(201,169,106,.35);
}
.nav-greenfee:hover::before { opacity:0; }
.nav-cta {
  padding:9px 24px; border:1px solid var(--gold); color:var(--gold) !important;
  border-radius:var(--radius); font-weight:600; transition:all var(--t) !important;
}
.nav-cta:hover { background:var(--gold); color:var(--green-deep) !important; }

.hamburger { display:none; flex-direction:column; gap:5px; background:none; border:none; cursor:pointer; padding:4px; }
.hamburger span { display:block; height:2px; width:26px; background:var(--white); border-radius:2px; transition:var(--t); }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.mobile-nav {
  display:none;
  flex-direction:column;
  background:rgba(10,32,22,.98);
  backdrop-filter:blur(12px);
  border-top:1px solid rgba(201,169,106,.18);
  overflow:hidden;
}
.mobile-nav.open { display:flex; }
.mobile-nav a {
  display:block; padding:16px 24px;
  font-family:var(--kr); font-size:.95rem; color:rgba(255,255,255,.82);
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:color var(--t), background var(--t);
}
.mobile-nav a:hover { color:var(--gold); background:rgba(201,169,106,.07); }
.mobile-nav .nav-cta-m {
  margin:14px 20px 20px; text-align:center; padding:14px;
  background:var(--gold); color:var(--green-deep); font-weight:600;
  border-radius:var(--radius); border:none;
}

/* ─── HERO ───────────────────────────────────────────── */
.hero {
  position:relative; height:100vh; min-height:680px;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
}
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg img { object-position:center 45%; animation:kZoom 14s ease-out forwards; }
@keyframes kZoom { from{transform:scale(1.06)} to{transform:scale(1)} }
.hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom,
    rgba(15,61,46,.52) 0%,
    rgba(15,61,46,.28) 45%,
    rgba(8,25,18,.76) 100%);
}
.hero-content {
  position:relative; z-index:2; text-align:center; padding:0 20px; max-width:840px;
}
.hero-label {
  display:inline-flex; align-items:center; gap:12px;
  font-size:.65rem; font-weight:600; letter-spacing:.34em; text-transform:uppercase;
  color:var(--gold); margin-bottom:26px;
}
.hero-dot { display:inline-block; width:5px; height:5px; border-radius:50%; background:var(--gold); }
.hero-headline {
  font-family:var(--kr);
  font-size:clamp(3rem,8vw,7rem);
  font-weight:300; line-height:1.1; color:var(--white);
  margin-bottom:18px;
}
.hero-sub {
  font-family:var(--serif); font-style:italic;
  font-size:clamp(1.1rem,2.8vw,1.9rem);
  font-weight:400; letter-spacing:.07em;
  color:var(--gold-light); margin-bottom:18px;
}
.hero-desc {
  font-family:var(--kr); font-size:.98rem; font-weight:300;
  color:rgba(255,255,255,.78); letter-spacing:.05em; margin-bottom:42px;
}
.hero-feats {
  display:flex; align-items:center; justify-content:center;
  flex-wrap:wrap; gap:0; margin-bottom:42px;
}
.hero-feat {
  display:flex; align-items:center; gap:8px; padding:0 20px;
  font-family:var(--kr); font-size:.8rem; color:rgba(255,255,255,.84);
}
.hero-feat i { color:var(--gold); font-size:.82rem; }
.hero-divider { width:1px; height:26px; background:rgba(255,255,255,.22); }

.hero-scroll {
  position:absolute; bottom:34px; left:50%; transform:translateX(-50%);
  z-index:2; display:flex; flex-direction:column; align-items:center; gap:9px;
}
.hero-scroll span {
  font-size:.58rem; font-weight:600; letter-spacing:.3em; color:rgba(255,255,255,.45);
}
.scroll-bar {
  width:1px; height:46px;
  background:linear-gradient(to bottom, rgba(255,255,255,.4), transparent);
  animation:pulse 2.2s ease infinite;
}
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.25} }

/* ─── SPRING INTRO ───────────────────────────────────── */
.s-intro { padding:120px 0 0; background:var(--white); }
.intro-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:64px;
  max-width:940px; margin:0 auto 80px;
}
.intro-side-left { display:flex; gap:22px; align-items:flex-start; }
.intro-gold-bar { width:2px; min-height:88px; background:linear-gradient(to bottom,var(--gold),transparent); flex-shrink:0; }
.intro-p {
  font-family:var(--kr); font-size:clamp(1rem,1.9vw,1.22rem);
  font-weight:300; line-height:1.95; letter-spacing:.02em; color:var(--text-dark);
}
.intro-p + .intro-p { margin-top:26px; }
.intro-strip { width:100%; height:400px; overflow:hidden; }
.intro-strip img { transform:scale(1.04); transition:transform 1.2s ease; }
.intro-strip:hover img { transform:scale(1); }

/* ─── BENEFIT ────────────────────────────────────────── */
.s-benefit {
  padding:120px 0; background:var(--green-deep); position:relative; overflow:hidden;
}
.s-benefit::before {
  content:''; position:absolute; top:-1px; left:0; right:0; height:72px;
  background:var(--white); clip-path:ellipse(55% 100% at 50% 0%);
}
.s-benefit::after {
  content:''; position:absolute; bottom:-1px; left:0; right:0; height:72px;
  background:var(--beige); clip-path:ellipse(55% 100% at 50% 100%);
}
.benefit-cards {
  display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:8px;
}
.bcard {
  background:rgba(255,255,255,.04); border:1px solid rgba(201,169,106,.2);
  border-radius:8px; padding:46px 34px 40px; position:relative; overflow:hidden;
  transition:transform var(--t) var(--ease), background var(--t), border-color var(--t), box-shadow var(--t);
}
.bcard:hover {
  transform:translateY(-7px);
  background:rgba(255,255,255,.07);
  border-color:rgba(201,169,106,.5);
  box-shadow:0 30px 70px rgba(0,0,0,.28);
}
.bcard--feat { background:rgba(201,169,106,.08); border-color:rgba(201,169,106,.4); }
.bcard--feat:hover { background:rgba(201,169,106,.16); }
.bcard-num  { font-size:.63rem; font-weight:600; letter-spacing:.2em; color:rgba(201,169,106,.35); margin-bottom:18px; }
.bcard-icon { font-size:1.75rem; color:var(--gold); margin-bottom:22px; }
.bcard-title{
  font-family:var(--kr); font-size:1.12rem; font-weight:500;
  color:var(--white); letter-spacing:.03em; margin-bottom:10px;
}
.bcard-text { font-family:var(--kr); font-size:.88rem; font-weight:300; color:rgba(255,255,255,.58); line-height:1.7; }
.bcard-bar {
  position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(to right, var(--gold), transparent);
  transform:scaleX(0); transform-origin:left;
  transition:transform .5s var(--ease);
}
.bcard:hover .bcard-bar { transform:scaleX(1); }

/* ─── PERIOD ─────────────────────────────────────────── */
.s-period { padding:120px 0; background:var(--beige); }
.period-wrap { max-width:780px; margin:0 auto; }
.period-card {
  background:var(--white); border-radius:12px;
  padding:56px 60px; box-shadow:var(--shadow); text-align:center; position:relative;
}
.period-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(to right, var(--gold), var(--green-accent), var(--gold));
  border-radius:12px 12px 0 0;
}
.period-badge {
  display:inline-block; background:var(--green-deep); color:var(--gold);
  font-size:.65rem; font-weight:700; letter-spacing:.3em;
  padding:7px 22px; border-radius:50px; margin-bottom:46px;
}
.period-row {
  display:flex; align-items:stretch; margin-bottom:46px;
}
.period-item { flex:1; padding:0 28px; }
.period-sep  { width:1px; background:var(--beige-dark); align-self:stretch; }
.period-lbl {
  font-size:.64rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--text-muted); margin-bottom:10px;
}
.period-date {
  font-family:var(--serif); font-size:clamp(1.05rem,2.4vw,1.45rem);
  font-weight:500; color:var(--green-deep); margin-bottom:7px;
}
.period-note { font-family:var(--kr); font-size:.8rem; color:var(--text-muted); }

/* Countdown */
.countdown {
  display:flex; justify-content:center; align-items:center; gap:8px;
  background:var(--beige); border-radius:8px; padding:22px 28px; margin-bottom:42px;
}
.cd-item  { display:flex; flex-direction:column; align-items:center; gap:4px; min-width:60px; }
.cd-num   { font-family:var(--serif); font-size:2.3rem; font-weight:500; color:var(--green-deep); line-height:1; }
.cd-label { font-size:.56rem; font-weight:600; letter-spacing:.2em; color:var(--text-muted); }
.cd-sep   { font-family:var(--serif); font-size:1.9rem; font-weight:300; color:var(--gold); margin-bottom:12px; }

/* ─── WHY ────────────────────────────────────────────── */
.s-why { position:relative; padding:120px 0; overflow:hidden; background:linear-gradient(135deg, #0f3d2e 0%, #0a1a12 100%); }
.why-inner { position:relative; z-index:2; }
.why-inner .eyebrow { justify-content:flex-start; margin-bottom:40px; }
.why-list  { max-width:680px; }
.why-item  {
  display:flex; align-items:flex-start; gap:28px;
  padding:22px 0; border-bottom:1px solid rgba(255,255,255,.08);
  transition:padding var(--t);
}
.why-item:first-child { border-top:1px solid rgba(255,255,255,.08); }
.why-item:hover { padding-left:8px; }
.why-n    { font-size:.58rem; font-weight:700; letter-spacing:.15em; color:var(--gold); flex-shrink:0; width:20px; padding-top:3px; }
.why-t    {
  font-family:var(--kr); font-size:.92rem;
  font-weight:300; color:rgba(255,255,255,.82); letter-spacing:.03em; line-height:1.75;
  transition:color var(--t);
}
.why-item:hover .why-t { color:rgba(255,255,255,1); }
.why-em {
  font-style: normal;
  color: var(--gold);
  font-weight: 500;
}
.why-line {
  margin-left:auto; height:1px; width:0; background:var(--gold); flex-shrink:0;
  transition:width .55s var(--ease);
}
.why-item:hover .why-line { width:56px; }

/* ─── GALLERY ────────────────────────────────────────── */
.s-gallery { padding:100px 0; background:var(--beige); }
.gallery-head { text-align:center; margin-bottom:52px; }
.gallery-sub  {
  font-family:var(--kr); font-size:.88rem; font-weight:300;
  color:var(--text-muted); letter-spacing:.07em; margin-top:-14px;
}
.g-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:320px 320px;
  gap:4px;
}
.g-item { position:relative; overflow:hidden; cursor:zoom-in; }
.g-item img { transform:scale(1.04); transition:transform .75s var(--ease); }
.g-item:hover img { transform:scale(1); }
.g-item--big  { grid-column:1;   grid-row:1/3; }
.g-item--wide { grid-column:1/3; }
.g-cap {
  position:absolute; bottom:0; left:0; right:0;
  padding:14px 18px; background:linear-gradient(transparent,rgba(0,0,0,.58));
  font-size:.68rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase;
  color:rgba(255,255,255,.78);
  transform:translateY(100%); transition:transform .38s ease;
}
.g-item:hover .g-cap { transform:translateY(0); }

/* ─── FINAL CTA ──────────────────────────────────────── */
.s-cta { position:relative; padding:160px 0; overflow:hidden; text-align:center; }
.cta-bg { position:absolute; inset:0; z-index:0; }
.cta-bg img { object-position:center 30%; }
.cta-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(10,40,60,.75), rgba(15,61,46,.80));
}
.cta-inner { position:relative; z-index:2; }
.cta-inner .eyebrow { margin-bottom:22px; }
.cta-headline {
  font-family:var(--kr); font-size:clamp(2.8rem,6.5vw,5.5rem);
  font-weight:300; line-height:1.12; color:var(--white); margin-bottom:18px;
}
.cta-sub  {
  font-family:var(--serif); font-style:italic;
  font-size:clamp(1.1rem,2.4vw,1.6rem); color:var(--gold-light);
  letter-spacing:.07em; margin-bottom:26px;
}
.cta-text {
  font-family:var(--kr); font-size:.98rem; font-weight:300;
  color:rgba(255,255,255,.74); line-height:1.85; letter-spacing:.04em; margin-bottom:48px;
}

/* ─── FOOTER ─────────────────────────────────────────── */
.site-footer { background:var(--green-deep); }
.footer-top {
  display:grid; grid-template-columns:250px 1fr; gap:56px;
  padding:68px 0 56px;
}
.footer-brand { }
.footer-brand .logo-main { font-size:1rem; letter-spacing:.22em; color:var(--white); display:block; }
.footer-brand .logo-sub  { font-size:.54rem; letter-spacing:.28em; color:var(--gold); display:block; margin-top:3px; }
.footer-tagline { font-family:var(--serif); font-style:italic; font-size:.82rem; color:rgba(255,255,255,.3); margin-top:10px; }
.footer-cols { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.footer-col h4 {
  font-size:.62rem; font-weight:700; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); margin-bottom:14px;
}
.footer-col p,
.footer-col a {
  display:block; font-family:var(--kr); font-size:.8rem; font-weight:300;
  line-height:2.1; color:rgba(255,255,255,.52); transition:color var(--t);
}
.footer-col a:hover { color:var(--gold); }

.footer-btm {
  border-top:1px solid rgba(255,255,255,.08);
}
.footer-btm-inner {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0;
}
.footer-copy { font-size:.7rem; color:rgba(255,255,255,.28); letter-spacing:.04em; }
.footer-social { display:flex; gap:18px; align-items:center; }
.footer-social a { font-size:1.2rem; color:rgba(255,255,255,.35); transition:color var(--t), transform var(--t); }
.footer-social a:hover { color:var(--gold); transform:translateY(-2px); }
.footer-social a[aria-label="KakaoTalk"]:hover { color:#FEE500; }
.kakao-social-btn svg { width:1.2rem; height:1.2rem; display:block; }

/* ─── STICKY BAR ─────────────────────────────────────── */
.sticky-bar {
  position:fixed; bottom:0; left:0; right:0; z-index:900;
  display:none; align-items:center; justify-content:space-between;
  background:var(--green-deep);
  padding:13px 20px;
  box-shadow:0 -4px 28px rgba(0,0,0,.22);
  border-top:1px solid rgba(201,169,106,.22);
  transform:translateY(100%);
  transition:transform .42s var(--ease);
}
.sticky-bar.show { transform:translateY(0); }
.sticky-left { display:flex; align-items:center; gap:8px; font-family:var(--kr); font-size:.83rem; color:rgba(255,255,255,.83); }
.sticky-left i { color:var(--gold); }
.sticky-btn {
  display:flex; align-items:center; gap:7px;
  padding:11px 22px; background:var(--gold); color:var(--green-deep);
  font-family:var(--kr); font-size:.86rem; font-weight:600;
  border-radius:var(--radius); transition:background var(--t); white-space:nowrap;
}
.sticky-btn:hover { background:var(--gold-light); }

/* ─── ADMIN FAB ──────────────────────────────────────── */
.admin-fab {
  position:fixed;
  bottom:28px;
  right:28px;
  z-index:950;
  width:52px;
  height:52px;
  border-radius:50%;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  box-shadow:0 2px 12px rgba(0,0,0,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease, opacity .22s ease;
  border:1px solid rgba(255,255,255,.22);
  text-decoration:none;
  opacity:.55;
}
.admin-fab:hover {
  transform:scale(1.1);
  background:rgba(255,255,255,.28);
  box-shadow:0 6px 24px rgba(0,0,0,.16);
  opacity:1;
}
.admin-fab:active { transform:scale(.96); }
.admin-fab-icon {
  width:26px;
  height:26px;
  object-fit:contain;
  opacity:.75;
  transition:opacity .2s;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.15));
}
.admin-fab:hover .admin-fab-icon { opacity:1; }

/* ─── SCROLL-REVEAL ──────────────────────────────────── */
.sr {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .72s ease, transform .72s ease;
  will-change: opacity, transform;
}
.sr.sr--left  { transform: translateX(-30px); }
.sr.sr--right { transform: translateX(30px); }
.sr.sr--down  { transform: translateY(-24px); }
.sr.visible   { opacity:1 !important; transform:none !important; }

/* Safety: if animation fails for any reason, show content */
@media (prefers-reduced-motion: reduce) {
  .sr { opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ─── SCROLLBAR ──────────────────────────────────────── */
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--beige); }
::-webkit-scrollbar-thumb { background:var(--green-mid); border-radius:4px; }

/* ═══════════════════════════════════════════════════════
   TABLET  ≤ 900px
   ═══════════════════════════════════════════════════════ */
@media (max-width:900px) {
  :root { --hh:64px; }
  .header-nav { display:none; }
  .hamburger  { display:flex; }

  .hero-feats { flex-direction:column; gap:14px; }
  .hero-divider { display:none; }

  .intro-grid { grid-template-columns:1fr; gap:38px; }
  .benefit-cards { grid-template-columns:1fr; max-width:460px; margin:0 auto; }

  .g-grid {
    grid-template-columns:repeat(2,1fr);
    grid-template-rows:240px 240px 240px;
  }
  .g-item--big  { grid-column:1/3; grid-row:1; }
  .g-item--wide { grid-column:1/3; }

  .period-card { padding:40px 30px; }
  .period-row  { flex-direction:column; gap:28px; }
  .period-sep  { display:none; }
  .period-item { padding:0; }

  .footer-top  { grid-template-columns:1fr; gap:40px; }
  .footer-cols { grid-template-columns:repeat(2,1fr); }
}

/* ═══════════════════════════════════════════════════════
   MOBILE  ≤ 600px
   ═══════════════════════════════════════════════════════ */
@media (max-width:600px) {
  .sticky-bar { display:flex; }
  /* sticky-bar 위로 FAB 띄우기 */
  .admin-fab { bottom:76px; right:16px; width:46px; height:46px; }
  .admin-fab-icon { width:22px; height:22px; }

  .s-intro   { padding:72px 0 0; }
  .intro-strip { height:240px; }
  .s-benefit { padding:80px 0; }
  .s-period  { padding:80px 0; }
  .s-why     { padding:88px 0; }
  .why-item  { gap:18px; padding:18px 0; }
  .why-t     { font-size:.78rem; line-height:1.65; }
  .why-n     { font-size:.52rem; }
  .why-em    { font-size:.78rem; }
  .s-gallery { padding:68px 0; }
  .s-cta     { padding:110px 0; }

  .g-grid {
    grid-template-columns:1fr;
    grid-template-rows:repeat(5,210px);
  }
  .g-item--big  { grid-column:1; grid-row:1; }
  .g-item--wide { grid-column:1; }

  .countdown { flex-wrap:wrap; gap:4px; padding:18px 14px; }
  .cd-item   { min-width:48px; }
  .cd-num    { font-size:1.75rem; }
  .period-card { padding:34px 18px; }

  .footer-cols { grid-template-columns:1fr; }
  .footer-top  { padding:48px 0 40px; }
  .footer-btm-inner { flex-direction:column; gap:10px; }

  .btn { padding:15px 30px; font-size:.88rem; }
}
