:root{
  --navy:#0c1d38; --navy-deep:#00091a; --navy-foot:#051631;
  --gold:#c9a24e; --gold-dark:#a27435; --gold-light:#e6c77a;
  --text:#0b1a2e; --muted:#5a6475; --line:#e3e6ec; --bg:#f9fafe; --card:#fbfbfd;
  --red:#e2493f;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:var(--text);background:var(--bg);line-height:1.6;letter-spacing:.005em;word-break:keep-all;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
.wrap{width:100%;max-width:1024px;margin:0 auto;position:relative}
svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.gi,.fi,.ci,.chev{display:block;flex:none;object-fit:contain}

/* ---------- hero (시안: 네이비 영역 0~397, 텍스트 x=76) ---------- */
.hero{background:#061634 url(img/hero-bg.jpg) center/cover no-repeat;color:#fff;overflow:hidden}
.hero .wrap{min-height:397px}
.hero-text{position:relative;padding:54px 0 0 76px;max-width:600px}
.eyebrow{color:var(--gold);font-size:13px;line-height:16px;font-weight:600;letter-spacing:.28em;margin-bottom:16px}
.hero h1{font-weight:700;letter-spacing:0}
.hero h1 span{display:block}
.hero h1 .white{font-size:40px;line-height:54px}
.hero h1 .gold{font-size:44px;line-height:55px;background:linear-gradient(90deg,#f3d58a,#d7ae55 60%,#c89a45);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{margin-top:8px;font-size:17px;line-height:28px;letter-spacing:.01em;color:#e9edf5}
.hero-feats{list-style:none;display:flex;gap:18px;margin-top:41px;flex-wrap:wrap}
.hero-feats li{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;letter-spacing:.01em;white-space:nowrap}
.hero-feats .gi{width:46px;height:46px}

/* ---------- card (시안: x 68~955, y 369~1270, 상단 5px 금색 테두리) ---------- */
.main{padding:0 0 44px}
.card{position:relative;margin:-28px 69px 0 68px;z-index:1;border-radius:14px;border-top:5px solid transparent;
  background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(90deg,#c6a46d,#f3cf95 50%,#c6a46d) border-box;
  box-shadow:0 12px 28px rgba(6,22,50,.13);padding:30px 39px 24px 13px}
.eyebrow2{display:flex;align-items:center;gap:22px;justify-content:center;color:var(--gold-dark);font-size:13px;line-height:16px;font-weight:600;letter-spacing:.28em}
.eyebrow2::before,.eyebrow2::after{content:"";height:1px;width:122px;background:linear-gradient(90deg,transparent,#c8a35c)}
.eyebrow2::after{transform:scaleX(-1)}
.card h2{text-align:center;font-size:32px;line-height:40px;font-weight:700;margin-top:10px;letter-spacing:0}
.card-sub{text-align:center;color:var(--muted);font-size:16px;line-height:22px;letter-spacing:.01em;margin-top:7px}

.form-grid{display:grid;grid-template-columns:130px 1fr;gap:48px;margin-top:18px;align-items:stretch}
.steps{background:var(--navy);border-radius:8px;color:#fff;display:flex;flex-direction:column;align-items:center;padding:41px 0 0}
.step{text-align:center;position:relative}
.step small{display:block;font-size:12px;line-height:14px;letter-spacing:.2em;font-weight:600;color:#d7dce6}
.step b{display:block;font-size:30px;line-height:34px;font-weight:800;margin-top:1px;background:linear-gradient(180deg,#f6dc96,#cfa54b);-webkit-background-clip:text;background-clip:text;color:transparent}
.step span{display:block;font-size:14px;line-height:18px;font-weight:600;letter-spacing:.02em;margin-top:9px}
.step:nth-child(1){padding-bottom:167px}
.step:nth-child(2){padding-bottom:96px}
.step::after{content:"";position:absolute;left:50%;width:1px;background:rgba(255,255,255,.28)}
.step:nth-child(1)::after{top:91px;height:140px}
.step:nth-child(2)::after{top:91px;height:70px}
.step:nth-child(3)::after{display:none}
.step-tag{display:none}

.fields{padding-top:21px}
.field{margin-bottom:23px;border:0}
.field>label,.field>legend{display:flex;align-items:center;gap:14px;height:20px;font-size:16px;line-height:20px;font-weight:700;margin-bottom:8px;color:var(--text)}
fieldset{padding:0;min-width:0}
.field>label .fi,.field>legend .fi{width:20px;height:20px;margin-left:6px}
.field i{color:var(--red);font-style:normal;font-weight:700}
.field small{color:var(--muted);font-weight:500;font-size:14px}
.field input[type=text],.field input[type=tel],.field textarea{width:100%;height:35px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:0 14px;font:inherit;font-size:15.5px;letter-spacing:.01em;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}
.field textarea{height:76px;padding:9px 14px;resize:vertical;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:#a9b0bc}
.field input:focus,.field textarea:focus{border-color:#c9a24e;box-shadow:0 0 0 3px rgba(201,162,78,.18)}
.field.invalid input,.field.invalid textarea,.field.invalid .chips{border-color:var(--red)}
.err{display:none;color:var(--red);font-size:13px;line-height:1.5;margin-top:6px}
.invalid .err,.err.show{display:block}
.count{text-align:right;color:var(--muted);font-size:11px;line-height:14px;margin-top:3px}
.sep{border:0;border-top:1px solid var(--line);margin:-5px 0 20px}
.field+.sep+.step-tag+fieldset,.sep+fieldset{margin-bottom:31px}
fieldset.field>legend{margin-bottom:16px}
.field:has(#goal)>label{margin-bottom:10px}
.field:has(#goal){margin-bottom:0}

.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:15px 16px;border:1px solid transparent;border-radius:8px;margin:-1px}
.chip{display:flex;align-items:center;gap:22px;height:34px;padding:0 14px 0 22px;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:15px;font-weight:500;letter-spacing:.01em;cursor:pointer;color:var(--text);user-select:none;transition:border-color .15s,background .15s;white-space:nowrap}
.chip .ci{width:18px;height:18px}
.chip input{position:absolute;opacity:0;width:0;height:0}
.chip:hover{border-color:#c9c0ad}
.chip:has(input:checked){border-color:var(--gold-dark);background:#fbf6ea;color:#5c4316;font-weight:600}
.chip:has(input:checked) svg{color:var(--gold-dark)}
.chip:has(input:focus-visible){box-shadow:0 0 0 3px rgba(201,162,78,.25)}

.consent{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f0f1f5;border-radius:7px;height:40px;padding:0 16px;font-size:14px;letter-spacing:.01em;margin-top:5px}
.consent label{display:flex;align-items:center;gap:10px;cursor:pointer;font-weight:500}
.consent input{width:15px;height:15px;accent-color:var(--gold-dark);margin:0}
.consent b{color:var(--gold-dark);font-weight:600}
.consent a{color:#2a3650;font-size:13px;font-weight:600;letter-spacing:.01em;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.consent a span{text-decoration:none;display:inline-block;margin-left:4px}
#agree-err{margin-top:6px}

.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

.submit{margin-top:16px;width:100%;height:50px;border:0;border-radius:6px;cursor:pointer;color:#0e1a30;font:inherit;font-size:19px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(90deg,#d2a856 0%,#c3984a 45%,#a27435 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 6px 16px rgba(162,116,53,.3);letter-spacing:.03em;transition:filter .15s,transform .05s}
.submit .fi{width:22px;height:22px}
.submit .chev{width:12px;height:12px;margin-left:4px}
.submit:hover{filter:brightness(1.05)}
.submit:active{transform:translateY(1px)}
.submit[disabled]{opacity:.7;cursor:progress}
.note{display:flex;align-items:flex-start;justify-content:center;gap:7px;margin-top:10px;font-size:12px;line-height:18px;letter-spacing:.01em;color:#4b5563;text-align:left}
.note .fi{width:14px;height:14px;margin-top:2px}

.done{text-align:center;padding:60px 20px 50px}
.done-icon{width:64px;height:64px;border-radius:50%;margin:0 auto 18px;background:linear-gradient(135deg,#e6c77a,#a27435);color:#fff;font-size:32px;font-weight:700;display:flex;align-items:center;justify-content:center}
.done h3{font-size:24px;font-weight:700}
.done p{color:var(--muted);margin-top:10px;font-size:16px;line-height:1.7}
::selection{background:#f1dfae;color:#1b1b1b}

/* ---------- footer (시안: y 1314~1536) ---------- */
.foot{position:relative;background:#051631 url(img/foot-bg.jpg) center/cover no-repeat;color:#fff;text-align:center;padding:24px 0 71px;overflow:hidden}
.foot .wrap{position:relative;z-index:1}
.foot-eyebrow{display:flex;align-items:center;justify-content:center;gap:18px;font-size:17px;line-height:24px;font-weight:500;letter-spacing:.01em;color:#e6eaf2}
.foot-eyebrow::before,.foot-eyebrow::after{content:"";width:100px;height:1px;background:linear-gradient(90deg,transparent,#c8a35c)}
.foot-eyebrow::after{transform:scaleX(-1)}
.foot-title{font-size:28px;line-height:36px;font-weight:700;margin-top:8px;letter-spacing:.01em}
.foot-title b{color:#e2bd66}
.foot-feats{list-style:none;display:flex;justify-content:center;align-items:center;margin-top:19px}
.foot-feats li{display:flex;align-items:center;gap:18px;padding:0 40px;font-size:15px;font-weight:500;letter-spacing:.01em;text-align:left;line-height:1.5}
.foot-feats li+li{border-left:1px solid rgba(255,255,255,.3)}
.foot-feats .gi{width:44px;height:44px}

/* ---------- mobile ---------- */
@media (max-width:860px){
  .card{margin:-28px 16px 0;padding:24px 18px 20px}
  .chips{grid-template-columns:repeat(2,1fr)}
  .form-grid{grid-template-columns:1fr;gap:0}
  .steps{display:none}
  .step-tag{display:inline-block;background:var(--navy);color:#f3d58a;font-size:12px;font-weight:700;letter-spacing:.08em;padding:5px 12px;border-radius:999px;margin:4px 0 16px}
  .hero-text{padding:44px 20px 0;max-width:none}
  .hero .wrap{min-height:0;display:flex;flex-direction:column;padding-bottom:28px}
  .hero{background-position:72% center}
  .hero h1 .white{font-size:28px;line-height:1.3}
  .hero h1 .gold{font-size:31px;line-height:1.3}
  .lead{font-size:15px;line-height:1.6}
  .lead br{display:none}
  .hero-feats{gap:12px 18px;margin-top:26px}
  .hero-feats li{font-size:14px}
  .hero-feats .gi{width:42px;height:42px}
  .eyebrow2{font-size:11px;letter-spacing:.18em;white-space:nowrap;gap:10px}
  .eyebrow2::before,.eyebrow2::after{width:28px}
  .card h2{font-size:26px;line-height:1.3}
  .card-sub{font-size:14px}
  .field input[type=text],.field input[type=tel]{height:40px}
  .chip{font-size:14px;padding:0 10px;height:40px}
  .consent{height:auto;flex-direction:column;align-items:flex-start;padding:12px 14px;gap:8px}
  .submit{font-size:16px}
  .note br{display:none}
  .foot{padding:40px 16px 150px}
  .foot-eyebrow{font-size:15px;padding:0 10px}
  .foot-eyebrow::before,.foot-eyebrow::after{display:none}
  .foot-title{font-size:24px;line-height:1.3}
  .foot-feats{flex-direction:column;align-items:flex-start;gap:16px;margin:28px auto 0;width:max-content;max-width:100%}
  .foot-feats li{padding:0;border:0!important}
}
@media (max-width:420px){
  .chips{grid-template-columns:1fr}
  .hero h1 .white{font-size:25px}
  .hero h1 .gold{font-size:27px}
}
