@charset "utf-8";
/* ARTI — 위트 기업사회공헌 프로그램
 *
 * 기본 뼈대는 처음 만든 구조 그대로 둔다(둥근 카드, 히어로에 꽃, 띠 섹션).
 * 대신 아래 다섯 가지는 쓰지 않는다 — 어디서 본 듯한 인상을 만드는 것들이다.
 *   1) 그라디언트           — 색은 전부 평면 한 겹
 *   2) 알약 버튼(999px)      — 모서리는 일정한 값으로만
 *   3) 번지는 큰 그림자      — 그림자는 얇게, 경계는 선으로
 *   4) 배경 글로우(blur)     — 배경은 비우거나 평면 톤
 *   5) 그라디언트 글자       — 강조는 브랜드색 한 가지로
 * 색은 로고와 포스터에서 직접 뽑았다.
 */

@font-face{
  font-family:"GmarketSans";
  font-weight:700;
  src:url("fonts/GmarketSansBold.woff") format("woff");
  font-display:swap;
}

:root{
  /* 로고 꽃잎 — 분야마다 한 장씩 나눠 갖는다 */
  --p1:#E8467F;
  --p2:#C94FA4;
  --p3:#7248CC;
  --p4:#2A6FE0;
  --p5:#0C84CC;

  --brand:#2A5BE0;          /* 기본 브랜드색 */
  --brand-ink:#1B3FB8;      /* 글자로 쓸 때 (대비 확보) */
  --brand-soft:#EAEEFC;
  --ultra:#061ECC;          /* 포스터의 전기 파랑 — 아주 좁게 */

  /* 중성색은 보라 쪽으로 살짝 기울였다(꽃잎과 같은 세계에 있도록) */
  --ink:#16141F;
  --ink-2:#4C4757;
  --ink-3:#807A8E;
  --line:#E4E1EC;
  --line-2:#F0EEF5;
  --paper:#FFFFFF;
  --paper-2:#F7F6FA;
  --paper-3:#EFEDF5;
  /* 로고는 절반이 핑크·마젠타인데 화면은 파랑만 쓰고 있었다.
     소개 띠에 그 반대쪽 색을 깔아 로고의 나머지 절반을 데려온다. */
  --tint:#F7E7F0;

  --ok:#12784F;
  --warn:#B3400F;
  --warn-bg:#FDF1EA;

  --shadow:0 1px 2px rgba(22,20,31,.05);
  --shadow-2:0 2px 4px rgba(22,20,31,.07);

  --r:16px;
  --r-sm:10px;
  --r-xs:7px;
  --wrap:1140px;
  --gut:24px;

  --sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,
         "Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  --head:"GmarketSans",var(--sans);
}

@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --brand:#7C97F5;
    --brand-ink:#9DB2FF;
    --brand-soft:#1B2245;
    --ultra:#8DA0FF;
    --ink:#F1EFF7;
    --ink-2:#B4AEC4;
    --ink-3:#8A8399;
    --line:#2A2637;
    --line-2:#211E2C;
    --paper:#100E17;
    --paper-2:#181523;
    --paper-3:#211D2F;
    --tint:#241730;
    --ok:#4CBE8B;
    --warn:#F09068;
    --warn-bg:#2A1811;
    --shadow:0 1px 2px rgba(0,0,0,.5);
    --shadow-2:0 2px 6px rgba(0,0,0,.6);
  }
}
:root[data-theme="dark"]{
  --brand:#7C97F5;
  --brand-ink:#9DB2FF;
  --brand-soft:#1B2245;
  --ultra:#8DA0FF;
  --ink:#F1EFF7;
  --ink-2:#B4AEC4;
  --ink-3:#8A8399;
  --line:#2A2637;
  --line-2:#211E2C;
  --paper:#100E17;
  --paper-2:#181523;
  --paper-3:#211D2F;
  --tint:#241730;
  --ok:#4CBE8B;
  --warn:#F09068;
  --warn-bg:#2A1811;
  --shadow:0 1px 2px rgba(0,0,0,.5);
  --shadow-2:0 2px 6px rgba(0,0,0,.6);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.75;
  -webkit-font-smoothing:antialiased;word-break:keep-all;overflow-x:hidden;
}
h1,h2,h3,h4{margin:0;font-family:var(--head);font-weight:700;line-height:1.24;
  letter-spacing:-.035em;text-wrap:balance}
p{margin:0}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;color:inherit}
:focus-visible{outline:3px solid var(--brand);outline-offset:2px;border-radius:4px}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 var(--gut)}

.eyebrow{
  display:inline-block;font-size:12px;font-weight:800;letter-spacing:.15em;
  text-transform:uppercase;color:var(--brand-ink);
}

/* ══════════ 버튼 ══════════ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:13px 26px;border-radius:var(--r-sm);
  border:1.5px solid transparent;background:var(--paper-2);color:var(--ink);
  font-weight:700;font-size:15.5px;line-height:1.3;text-align:center;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.btn:hover{background:var(--paper-3)}
.btn:active{transform:translateY(1px)}
.btn-fill{background:var(--brand);color:#fff}
.btn-fill:hover{background:var(--brand-ink)}
.btn-line{background:transparent;border-color:var(--line);color:var(--ink)}
.btn-line:hover{background:var(--paper-2);border-color:var(--ink-3)}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-lg{min-height:56px;padding:16px 32px;font-size:16.5px}
.btn-sm{min-height:40px;padding:9px 17px;font-size:14px;border-radius:var(--r-xs)}
.btn-block{width:100%}

/* ══════════ 헤더 ══════════ */
.top{position:sticky;top:0;z-index:60;background:var(--paper);
  border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:16px;height:68px}
.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;min-width:0}
.brand img{width:34px;height:34px;flex-shrink:0}
.brand b{font-family:var(--head);font-size:19px;letter-spacing:-.03em;display:block}
.brand em{font-style:normal;font-size:10.5px;color:var(--ink-3);display:block;
  font-weight:700;letter-spacing:.02em;white-space:nowrap}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{padding:9px 13px;border-radius:var(--r-xs);font-size:14.5px;font-weight:600;
  color:var(--ink-2)}
.nav a:hover{background:var(--paper-2);color:var(--ink)}
.top .btn{margin-left:8px;flex-shrink:0}
.burger{display:none;margin-left:auto;width:46px;height:46px;flex-shrink:0;
  border:1.5px solid var(--line);border-radius:var(--r-xs);background:transparent;
  align-items:center;justify-content:center;font-size:17px}

/* ══════════ 히어로 ══════════ */
.hero{position:relative;padding:clamp(44px,7vw,76px) 0 clamp(40px,6vw,68px);
  background:var(--paper-2);border-bottom:1px solid var(--line)}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,52px);
  align-items:center}
.hero h1{font-size:clamp(32px,6.6vw,64px);line-height:1.1;letter-spacing:-.05em}
.hero h1 .blue{color:var(--brand-ink)}
.hero .sub{margin-top:clamp(16px,2.4vw,24px);font-size:clamp(16px,2.1vw,20px);
  font-weight:700;color:var(--brand-ink);letter-spacing:-.02em}
.hero .lead{margin-top:14px;font-size:clamp(14.5px,1.7vw,16px);color:var(--ink-2);
  max-width:46ch;line-height:1.85}
.hero-cta{display:flex;gap:11px;margin-top:clamp(24px,3.6vw,34px);flex-wrap:wrap}

/* 꽃 — 로고 모티프. 잎이 하나씩 피어난다. */
.bloom{width:min(360px,80vw);margin:0 auto;aspect-ratio:1}
.bloom svg{width:100%;height:100%}
.petal{transform-origin:50% 50%;opacity:0;
  animation:pop .62s cubic-bezier(.2,1.25,.4,1) forwards}
@keyframes pop{
  0%{opacity:0;transform:scale(.45) rotate(-14deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}

/* 접수 정보 띠 */
.status{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;margin-top:clamp(28px,4vw,40px)}
.status > div{background:var(--paper);padding:16px 18px;min-width:0}
.status dt{font-size:11.5px;font-weight:800;letter-spacing:.08em;color:var(--ink-3);
  text-transform:uppercase}
.status dd{margin:4px 0 0;font-family:var(--head);font-size:clamp(15px,2vw,19px);
  letter-spacing:-.03em}

/* ══════════ 섹션 ══════════ */
.sec{padding:clamp(52px,8vw,84px) 0}
.sec-head{margin-bottom:clamp(28px,4.4vw,44px);max-width:38ch}
.sec-head.mid{margin-left:auto;margin-right:auto;text-align:center;max-width:42ch}
.sec-head h2{font-size:clamp(26px,4.6vw,46px);margin-top:12px}
.sec-head p{margin-top:16px;font-size:clamp(15px,1.8vw,16.5px);color:var(--ink-2);
  max-width:54ch;line-height:1.85}
.sec-head.mid p{margin-left:auto;margin-right:auto}

.band{background:var(--paper-2)}
.band-tint{background:var(--tint)}
.band-blue{background:var(--brand);color:#fff}
.band-blue .eyebrow{color:rgba(255,255,255,.75)}
.band-blue .sec-head h2{color:#fff}
.band-blue .sec-head p{color:rgba(255,255,255,.88)}

.rv{opacity:0;transform:translateY(16px);
  transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.3,1)}
.rv.in{opacity:1;transform:none}

/* ══════════ 모집 분야 ══════════ */
.fields{display:grid;gap:14px;grid-template-columns:repeat(5,1fr)}
.field{
  position:relative;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r);padding:24px 20px;
  display:flex;flex-direction:column;gap:11px;min-width:0;
  transition:border-color .18s ease,background .18s ease,color .18s ease;
}
.swatch{width:32px;height:32px;border-radius:9px;background:var(--c,var(--brand))}
.field .f-no{font-size:11px;font-weight:800;letter-spacing:.14em;color:var(--ink-3)}
.field h3{font-size:clamp(18px,2.1vw,21px)}
.field ul{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 7px}
.field li{font-size:12.5px;color:var(--ink-2);font-weight:600}
.field li::after{content:"·";color:var(--ink-3);margin-left:7px}
.field li:last-child::after{content:""}
/* 색은 평면 한 겹으로만 채운다 */
.field:hover{background:var(--c,var(--brand));border-color:var(--c,var(--brand));color:#fff}
.field:hover .f-no,.field:hover li{color:rgba(255,255,255,.9)}
.field:hover .swatch{background:rgba(255,255,255,.92)}

/* ══════════ 혜택 · 소개 카드 ══════════ */
.perks{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.perk{background:var(--paper);padding:28px 24px;display:flex;flex-direction:column;gap:9px}
.perk .big{font-family:var(--head);font-size:clamp(30px,4vw,40px);line-height:1.05;
  letter-spacing:-.045em;color:var(--brand-ink)}
.perk .big small{font-size:.5em;font-weight:700}
.perk h3{font-size:17px}
.perk p{font-size:14.5px;color:var(--ink-2);line-height:1.75}
.band-blue .perks{background:rgba(255,255,255,.28);border-color:rgba(255,255,255,.35)}
.band-blue .perk{background:var(--brand)}
.band-blue .perk .big,.band-blue .perk h3{color:#fff}
.band-blue .perk p{color:rgba(255,255,255,.88)}

/* ══════════ 일정 ══════════ */
.road{position:relative;padding-left:30px}
.road::before{content:"";position:absolute;left:6px;top:10px;bottom:10px;width:2px;
  background:var(--line)}
.road-fill{position:absolute;left:6px;top:10px;width:2px;background:var(--brand);height:0}
.step{position:relative;padding-bottom:30px}
.step:last-child{padding-bottom:0}
.step::before{content:"";position:absolute;left:-30px;top:7px;width:14px;height:14px;
  border-radius:50%;background:var(--paper);border:3px solid var(--line);
  transition:border-color .25s ease,background .25s ease}
.step.on::before{background:var(--brand);border-color:var(--brand)}
.step .when{font-size:13px;font-weight:800;letter-spacing:.03em;color:var(--brand-ink)}
.step h3{font-size:clamp(17px,2.1vw,20px);margin:5px 0 6px}
.step p{font-size:14.5px;color:var(--ink-2);max-width:58ch}
.step .now{display:inline-block;margin-top:9px;background:var(--ink);color:var(--paper);
  font-size:12px;font-weight:800;padding:4px 11px;border-radius:var(--r-xs)}

/* ══════════ 제출 서류 ══════════ */
.docs{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.doc-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);
  padding:26px 22px;display:flex;flex-direction:column;gap:10px}
.tagline{display:inline-block;align-self:flex-start;font-size:11.5px;font-weight:800;
  letter-spacing:.08em;padding:4px 11px;border-radius:999px;
  background:var(--brand-soft);color:var(--brand-ink)}
.tagline.opt{background:var(--paper-3);color:var(--ink-3)}
.doc-card h3{font-size:18px}
.doc-card p{font-size:14.5px;color:var(--ink-2);line-height:1.75}

/* ══════════ FAQ ══════════ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:20px 44px 20px 0;position:relative;
  font-weight:700;font-size:clamp(16px,1.9vw,17.5px);min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:10px;top:50%;width:10px;height:10px;
  border-right:2.5px solid var(--ink-3);border-bottom:2.5px solid var(--ink-3);
  transform:translateY(-70%) rotate(45deg);transition:transform .2s ease}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg);
  border-color:var(--brand)}
.faq details[open] summary{color:var(--brand-ink)}
.faq .a{padding:0 0 22px;color:var(--ink-2);font-size:15.5px;max-width:64ch;line-height:1.85}

/* ══════════ CTA ══════════ */
.cta{background:var(--brand);color:#fff;border-radius:var(--r);
  padding:clamp(38px,6vw,60px) clamp(22px,4vw,40px);text-align:center}
.cta h2{font-size:clamp(26px,4.8vw,44px);color:#fff}
.cta p{margin-top:13px;font-size:clamp(15px,1.8vw,16.5px);color:rgba(255,255,255,.9)}
.cta-btns{display:flex;gap:11px;justify-content:center;margin-top:26px;flex-wrap:wrap}
.cta .btn-fill{background:#fff;color:var(--brand-ink)}
.cta .btn-fill:hover{background:rgba(255,255,255,.9)}
.cta .btn-line{border-color:rgba(255,255,255,.5);color:#fff}
.cta .btn-line:hover{background:rgba(255,255,255,.14);border-color:#fff}

/* ══════════ 푸터 ══════════ */
.foot{border-top:1px solid var(--line);background:var(--paper-2);
  padding:clamp(36px,5vw,50px) 0 clamp(28px,4vw,38px)}
.foot-in{display:grid;gap:30px;grid-template-columns:minmax(200px,1fr) 2fr}
.foot p{font-size:14px;color:var(--ink-2)}
.foot-links{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}
.foot-links h4{font-family:var(--sans);font-size:12px;margin-bottom:9px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-3)}
.foot-links a,.foot-links span{display:block;font-size:14px;color:var(--ink-2);
  padding:4px 0;font-weight:600}
.foot-links a:hover{color:var(--brand-ink)}
.foot-bot{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);
  display:flex;gap:8px 22px;flex-wrap:wrap;justify-content:space-between;
  font-size:13px;color:var(--ink-3)}

/* ══════════ 알림 ══════════ */
.notice{display:flex;gap:11px;align-items:flex-start;background:var(--warn-bg);
  border:1px solid var(--warn);border-radius:var(--r-sm);padding:16px 18px;
  font-size:14.5px;line-height:1.75}
.notice b{color:var(--warn)}

/* ══════════════════ 지원 폼 ══════════════════ */

.form-hero{padding:clamp(32px,5vw,48px) 0 26px;border-bottom:1px solid var(--line)}
.form-hero h1{font-size:clamp(28px,5.2vw,48px)}
.form-hero p{margin-top:14px;color:var(--ink-2);font-size:15.5px;max-width:56ch;line-height:1.85}

.steps{position:sticky;top:68px;z-index:40;background:var(--paper);
  border-bottom:1px solid var(--line)}
.steps-in{display:flex;gap:6px;overflow-x:auto;padding:12px 0;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.steps-in::-webkit-scrollbar{display:none}
.stp{display:flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;
  font-size:13.5px;font-weight:700;color:var(--ink-3);white-space:nowrap;
  background:var(--paper-2);flex-shrink:0;scroll-snap-align:start;
  transition:background .15s ease,color .15s ease}
.stp i{width:20px;height:20px;border-radius:50%;background:var(--line);color:var(--ink-3);
  display:grid;place-items:center;font-size:11px;font-style:normal;font-weight:800}
.stp.on{color:#fff;background:var(--ink)}
.stp.on i{background:#fff;color:var(--ink)}
.stp.done{color:var(--brand-ink);background:var(--brand-soft)}
.stp.done i{background:var(--brand);color:#fff}
.bar{height:3px;background:var(--line-2)}
.bar > div{height:100%;background:var(--brand);width:0;transition:width .3s ease}

.form-wrap{max-width:780px;margin:0 auto;padding:clamp(28px,5vw,44px) var(--gut) 80px}
.pane{display:none}
.pane.on{display:block}
.pane > h2{font-size:clamp(22px,3.6vw,28px);margin-bottom:8px}
.pane > .hint{color:var(--ink-2);font-size:15px;margin-bottom:26px;line-height:1.8}

.fset{display:flex;flex-direction:column;gap:20px}
.f{display:flex;flex-direction:column;gap:7px;min-width:0}
.f label{font-size:14.5px;font-weight:700}
.f label .req{color:var(--warn);margin-left:3px}
.f .sub{font-size:13px;color:var(--ink-3);font-weight:500}
.f input,.f select,.f textarea{
  width:100%;font:inherit;font-size:16px;   /* 16px 미만이면 iOS 가 화면을 확대한다 */
  color:var(--ink);background:var(--paper);
  border:1.5px solid var(--line);border-radius:var(--r-sm);padding:13px 15px;outline:none;
  min-height:50px;transition:border-color .15s ease,box-shadow .15s ease;
}
.f textarea{min-height:150px;resize:vertical;line-height:1.8}
.f input:focus,.f select:focus,.f textarea:focus{
  border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.f input[aria-invalid="true"],.f textarea[aria-invalid="true"],.f select[aria-invalid="true"]{
  border-color:var(--warn);box-shadow:0 0 0 3px var(--warn-bg)}
.f .err{font-size:13px;color:var(--warn);font-weight:700;display:none}
.f .err.show{display:block}
.f .count{font-size:12.5px;color:var(--ink-3);text-align:right;font-weight:600}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}

.picks{display:grid;gap:11px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.pick{position:relative;min-width:0}
.pick input{position:absolute;opacity:0;width:0;height:0}
.pick span{display:flex;flex-direction:column;gap:5px;height:100%;
  border:1.5px solid var(--line);border-radius:var(--r-sm);padding:16px;cursor:pointer;
  background:var(--paper);transition:border-color .15s ease,background .15s ease,color .15s ease}
.pick span b{font-family:var(--head);font-size:16px;letter-spacing:-.03em}
.pick span small{font-size:12.5px;color:var(--ink-3);line-height:1.6}
.pick span:hover{border-color:var(--brand)}
.pick input:focus-visible + span{outline:3px solid var(--brand);outline-offset:2px}
.pick input:checked + span{background:var(--brand);border-color:var(--brand);color:#fff}
.pick input:checked + span small{color:rgba(255,255,255,.85)}

.agree{display:flex;flex-direction:column;gap:11px}
.chk{display:flex;gap:12px;align-items:flex-start;padding:16px;
  border:1.5px solid var(--line);border-radius:var(--r-sm);cursor:pointer;background:var(--paper)}
.chk:hover{border-color:var(--brand)}
.chk input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--brand);flex-shrink:0}
.chk .t{font-size:14.5px;line-height:1.65;min-width:0}
.chk .t b{display:block;margin-bottom:3px;font-size:15px}
.chk .t span{color:var(--ink-2);font-size:13.5px}
.terms{max-height:200px;overflow-y:auto;background:var(--paper-2);
  border:1px solid var(--line);border-radius:var(--r-sm);padding:17px;
  font-size:13.5px;line-height:1.8;color:var(--ink-2);-webkit-overflow-scrolling:touch}
.terms h4{font-family:var(--sans);font-size:13.5px;margin:13px 0 5px;color:var(--ink);
  letter-spacing:0}
.terms h4:first-child{margin-top:0}
.terms ul{margin:0;padding-left:1.1em}

.member{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;
  padding:14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper-2)}
.member .rm{border:1.5px solid var(--line);border-radius:var(--r-xs);background:var(--paper);
  width:48px;height:50px;font-size:18px;font-weight:700;flex-shrink:0}
.member .rm:hover{border-color:var(--warn);color:var(--warn)}

.nav-btns{display:flex;gap:11px;margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}
.nav-btns .btn-fill{flex:1}

/* 창작계획서 — 항목이 일곱 개라 묶어주지 않으면 어디까지가 한 항목인지 안 보인다 */
.f-group{border:1.5px solid var(--line);border-radius:var(--r);padding:20px}
.f-group + .f-group{margin-top:2px}
.g-label{display:block;font-family:var(--head);font-size:16.5px;letter-spacing:-.03em;
  margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--line-2)}
.g-label .req{color:var(--warn);margin-left:3px}
.f-group .sub{font-size:13.5px;color:var(--ink-3);line-height:1.7;margin-bottom:4px}
.f-group .f + .f{margin-top:16px}

.age-note{display:none;margin-top:4px}
.age-note.show{display:flex}

.done-box{text-align:center;padding:clamp(40px,7vw,60px) var(--gut)}
.done-box .mark{width:96px;height:96px;margin:0 auto 22px}
.done-box h2{font-size:clamp(26px,5vw,36px);margin-bottom:14px}
.done-box p{color:var(--ink-2);font-size:15.5px;max-width:46ch;margin:0 auto;line-height:1.85}
.code{display:inline-block;margin-top:22px;font-family:var(--head);
  font-size:clamp(19px,3.4vw,23px);letter-spacing:.06em;background:var(--paper-2);
  border:1.5px solid var(--line);border-radius:var(--r-sm);padding:13px 24px}

/* ══════════════════ 인쇄용 양식 ══════════════════ */
.doc{max-width:840px;margin:0 auto;padding:clamp(28px,4vw,40px) var(--gut) 80px}
.doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;
  padding-bottom:18px;border-bottom:3px solid var(--ink);margin-bottom:8px;flex-wrap:wrap}
.doc-head h1{font-size:clamp(24px,4.4vw,30px)}
.doc-head .meta{font-size:13px;color:var(--ink-3);text-align:right}
.doc-head img{width:42px;height:42px}
.doc-sec{margin-top:32px}
.doc-sec > h2{font-size:17px;padding-bottom:9px;border-bottom:2px solid var(--ink);margin-bottom:0}
table.grid{width:100%;border-collapse:collapse;font-size:14.5px}
table.grid th,table.grid td{border:1px solid var(--line);padding:11px 13px;text-align:left;
  vertical-align:top}
table.grid th{background:var(--paper-2);font-weight:700;width:130px}
table.grid td.fill{height:50px}
table.grid td.tall{height:140px}
table.grid td.xtall{height:250px}
.doc p.guide{font-size:13.5px;color:var(--ink-3);margin-top:9px;line-height:1.75}
.sign-row{display:flex;justify-content:flex-end;gap:12px;align-items:baseline;
  margin-top:26px;font-size:15px;flex-wrap:wrap}
.sign-row .line{display:inline-block;min-width:140px;border-bottom:1px solid var(--ink)}
.print-bar{display:flex;gap:10px;justify-content:flex-end;margin-bottom:20px;flex-wrap:wrap}

/* ══════════════════ 반응형 ══════════════════ */

@media (max-width:1080px){
  .fields{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:960px){
  .nav{position:fixed;inset:68px 0 auto 0;flex-direction:column;gap:0;background:var(--paper);
    border-bottom:1px solid var(--line);padding:6px var(--gut) 16px;display:none;
    max-height:calc(100dvh - 68px);overflow-y:auto}
  .nav.open{display:flex}
  .nav a{padding:14px 4px;border-radius:0;border-bottom:1px solid var(--line-2);min-height:50px;
    display:flex;align-items:center}
  .burger{display:inline-flex}
  .top .btn{display:none}
  .hero-in{grid-template-columns:1fr;gap:32px}
  .bloom{width:min(280px,62vw)}
  .foot-in{grid-template-columns:1fr}
}
@media (max-width:820px){
  .fields{grid-template-columns:repeat(2,1fr)}
  .status{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  :root{--gut:18px;--r:14px}
  .hero{padding-top:34px}
  .hero-cta{flex-direction:column;align-items:stretch}
  .hero-cta .btn{width:100%}
  .fields{grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  .picks{grid-template-columns:1fr}
  .member{grid-template-columns:1fr}
  .member .rm{width:100%}
  .nav-btns{flex-direction:column-reverse}
  .nav-btns .btn{width:100%}
  .cta-btns .btn{width:100%}
  .steps{top:64px}
  .top-in{height:64px}
  .nav{inset-block-start:64px}
  .doc-head .meta{text-align:left}
  /* 인쇄 양식 표 — 좁은 화면에서는 항목을 위아래로 쌓는다 */
  table.grid,table.grid tbody,table.grid tr,table.grid th,table.grid td{
    display:block;width:auto}
  table.grid tr{margin-bottom:-1px}
  table.grid th{width:auto;border-bottom:0;font-size:13.5px}
  table.grid td{border-top:0}
  table.grid td[colspan]{border-top:0}
}
@media (max-width:400px){
  .status{grid-template-columns:1fr}
  .brand em{display:none}
}

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

@media print{
  .top,.foot,.print-bar,.notice{display:none!important}
  body{background:#fff;color:#000;font-size:11pt}
  .doc{padding:0;max-width:none}
  .doc-sec{break-inside:avoid}
  table.grid,table.grid tbody,table.grid tr,table.grid th,table.grid td{display:revert}
  table.grid th{background:#f2f2f2!important;-webkit-print-color-adjust:exact;
    print-color-adjust:exact;width:130px}
  a{color:#000}
}
