@charset "UTF-8";
/* ==========================================================================
   project.reseedcorp.com — common
   기준: desktop-first (max-width) 1280 / 1024 / 768 / 480
   ========================================================================== */
:root{
  /* color — light (graphite) */
  --c-bg:#fafafa;
  --c-card:#ffffff;
  --c-raised:#f4f4f5;
  --c-text:#171717;
  --c-text-sub:#525252;
  --c-text-dim:#6b6b6b;
  --c-line:rgba(23,23,23,.1);
  --c-line-strong:rgba(23,23,23,.2);
  /* color — dark */
  --c-dark:#141415;
  --c-dark-card:#1c1c1e;
  --c-dark-raised:#262628;
  --c-dark-text:#ededed;
  --c-dark-sub:#a1a1a6;
  --c-dark-dim:#8c8c92;
  --c-dark-line:rgba(237,237,237,.12);
  /* accent — www.reseedcorp.com 사용색 */
  --c-accent:#ffd539;
  --c-accent-hover:#f5c800;
  --c-on-accent:#171717;
  --c-focus:#1a6fd6;

  /* type */
  --ff-base:'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic','맑은 고딕',sans-serif;
  --ff-display:'Alexandria','Noto Sans KR',sans-serif;
  --ff-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;

  /* layout */
  --w-inner:1440px;
  --gutter:32px;
  --h-header:64px;
  --section-gap:128px;

  /* shape & motion */
  --r-sm:6px;
  --r-btn:8px;
  --r-card:12px;
  --r-panel:16px;
  --ease:cubic-bezier(.22,1,.36,1);
  --t-fast:160ms;
  --t-enter:400ms;
}

html{scroll-padding-top:calc(var(--h-header) + 16px)}
body{
  min-width:320px;
  background:var(--c-bg);
  color:var(--c-text);
  font-family:var(--ff-base);
  font-size:1rem;
  line-height:1.6;
  word-break:keep-all;
  overflow-wrap:break-word;
  -webkit-font-smoothing:antialiased;
}
body.is-menu-open{overflow:hidden}

.inner{
  width:100%;
  max-width:calc(var(--w-inner) + var(--gutter) * 2);
  margin:0 auto;
  padding:0 var(--gutter);
}
.mono{font-family:var(--ff-mono);font-variant-numeric:tabular-nums;letter-spacing:0}

/* 접근성 */
.blind{
  position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;
}
.skip{
  position:fixed;top:8px;left:8px;z-index:1000;
  padding:12px 16px;border-radius:var(--r-btn);
  background:var(--c-accent);color:var(--c-on-accent);font-weight:500;
  transform:translateY(-200%);
  transition:transform var(--t-fast) var(--ease);
}
.skip:focus{transform:translateY(0)}
:focus-visible{outline:2px solid var(--c-focus);outline-offset:3px;border-radius:2px}
.hero :focus-visible,.cta :focus-visible,.header :focus-visible{outline-color:var(--c-accent)}

/* 버튼 */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:0 20px;border-radius:var(--r-btn);
  font-size:.9375rem;font-weight:500;line-height:1.2;white-space:nowrap;
  border:1px solid transparent;
  transition:background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),transform var(--t-fast) var(--ease);
}
.btn:active{transform:scale(.98)}
.btn-sm{min-height:36px;padding:0 16px;font-size:.875rem}
.btn-accent{background:var(--c-accent);color:var(--c-on-accent)}
.btn-accent:hover{background:var(--c-accent-hover)}
.btn-ghost-dark{border-color:var(--c-dark-line);color:var(--c-dark-text);background:transparent}
.btn-ghost-dark:hover{background:var(--c-dark-raised);border-color:rgba(237,237,237,.2)}
.btn-line{border-color:var(--c-line-strong);color:var(--c-text);background:var(--c-card)}
.btn-line:hover{background:var(--c-raised)}

/* ==========================================================================
   HEADER
   ========================================================================== */
.header{
  position:sticky;top:0;z-index:100;
  background:var(--c-dark);color:var(--c-dark-text);
  border-bottom:1px solid transparent;
  transition:border-color var(--t-fast) var(--ease);
}
.header.is-scrolled{border-bottom-color:var(--c-dark-line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:var(--h-header)}
.logo{display:inline-flex;align-items:baseline;gap:8px}
.logo-name{font-family:var(--ff-display);font-size:1.125rem;font-weight:600;letter-spacing:.02em}
.logo-sub{font-family:var(--ff-display);font-size:.875rem;color:var(--c-dark-sub)}

.gnb{display:flex;align-items:center;gap:32px}
.gnb-list{display:flex;gap:28px}
.gnb-list a{
  display:inline-flex;align-items:center;gap:4px;
  font-size:.9375rem;color:var(--c-dark-sub);
  transition:color var(--t-fast) var(--ease);
}
.gnb-list a:hover{color:var(--c-dark-text)}
/* 아이콘: lucide 형태, 16px · stroke 1.5 · 텍스트 색 상속 */
.ico{
  flex:none;width:16px;height:16px;
  fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;
}
.gnb-btn{display:none}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.footer{background:var(--c-dark);color:var(--c-dark-sub);border-top:1px solid var(--c-dark-line)}
.footer-inner{
  display:grid;grid-template-columns:auto 1fr auto;
  grid-template-areas:"logo info links" "logo copy links";
  column-gap:48px;row-gap:4px;
  padding-top:40px;padding-bottom:40px;
  font-size:.875rem;
}
.footer-logo{grid-area:logo;font-family:var(--ff-display);font-weight:600;color:var(--c-dark-text);letter-spacing:.02em}
.footer-info{grid-area:info}
.footer-copy{grid-area:copy;color:var(--c-dark-dim)}
.footer-links{grid-area:links;display:flex;gap:24px;align-self:center}
.footer-links a{transition:color var(--t-fast) var(--ease)}
.footer-links a:hover{color:var(--c-dark-text)}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1280px){
  :root{--section-gap:112px}
}

@media (max-width:1024px){
  :root{--gutter:24px;--section-gap:96px}

  .gnb-btn{
    display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;margin-right:-10px;
  }
  .gnb-btn-line,.gnb-btn-line::before,.gnb-btn-line::after{
    display:block;width:20px;height:1.5px;background:currentColor;
    transition:transform var(--t-fast) var(--ease),opacity var(--t-fast) var(--ease);
  }
  .gnb-btn-line{position:relative}
  .gnb-btn-line::before,.gnb-btn-line::after{content:"";position:absolute;left:0}
  .gnb-btn-line::before{top:-6px}
  .gnb-btn-line::after{top:6px}
  .gnb-btn[aria-expanded="true"] .gnb-btn-line{background:transparent}
  .gnb-btn[aria-expanded="true"] .gnb-btn-line::before{transform:translateY(6px) rotate(45deg)}
  .gnb-btn[aria-expanded="true"] .gnb-btn-line::after{transform:translateY(-6px) rotate(-45deg)}

  .gnb{
    position:fixed;top:var(--h-header);left:0;right:0;bottom:0;
    flex-direction:column;align-items:stretch;gap:24px;
    padding:24px var(--gutter) 40px;
    background:var(--c-dark);border-top:1px solid var(--c-dark-line);
    overflow-y:auto;
    visibility:hidden;opacity:0;transform:translateY(-8px);
    transition:opacity 200ms var(--ease),transform 200ms var(--ease),visibility 0s linear 200ms;
  }
  .is-menu-open .gnb{
    visibility:visible;opacity:1;transform:none;
    transition:opacity 200ms var(--ease),transform 200ms var(--ease);
  }
  .gnb-list{flex-direction:column;gap:0}
  .gnb-list a{
    display:flex;min-height:56px;font-size:1.25rem;color:var(--c-dark-text);
    border-bottom:1px solid var(--c-dark-line);
  }
  .gnb-cta{min-height:48px}

  .footer-inner{
    grid-template-columns:1fr;
    grid-template-areas:"logo" "info" "links" "copy";
    row-gap:8px;
  }
  .footer-links{margin:8px 0;flex-wrap:wrap;gap:8px 20px}
}

@media (max-width:768px){
  :root{--gutter:20px;--section-gap:80px;--h-header:56px}
}

@media (max-width:480px){
  :root{--gutter:16px;--section-gap:64px}
  .btn{padding:0 16px}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
