/* 홈 · 회사소개 · 투자 (2026-10-26 2차 요청서 [4][18]: 타이포그래피 기준값, 히어로 어두운 막, 퀵서비스 구조 유지) */
/* 히어로 — 좌측 88% → 우측 34% 가로 그라데이션 rgba(6,16,28). 농도 임의로 낮추지 말 것(요청서) */
.hx{position:relative;overflow:hidden;color:#fff;background:#06101C;
  min-height:600px;height:min(56.25vw,calc(100svh - 64px));max-height:1000px;display:flex}
.hx-bg{position:absolute;inset:0}
.hx-bg img{width:100%;height:100%;object-fit:cover;display:block}
.hx::after{content:"";position:absolute;inset:0;pointer-events:none}
.hx > .wrap{position:relative;z-index:1;width:100%}
.hx-main::after{background:linear-gradient(90deg,rgba(6,16,28,.88) 0%,rgba(6,16,28,.34) 100%)}
.hx-in{display:flex;flex-direction:column;justify-content:center;padding-top:64px;padding-bottom:72px}
.hx h1{font-size:var(--fs-hero);font-weight:600;letter-spacing:-.035em;line-height:1.12}
.hx-q{margin-top:28px;font-size:var(--fs-sub);font-weight:600;color:var(--amber);letter-spacing:-.02em;line-height:1.3}
.hx-sub{margin-top:16px;font-size:var(--fs-body);color:rgba(255,255,255,.82);line-height:1.6}
.hx-search{margin-top:56px;max-width:1000px}
.hx-search label{display:block;font-size:14px;color:rgba(255,255,255,.75);margin-bottom:10px}
.hx-search-row{display:flex;gap:10px}
.hx-search input{flex:1;min-width:0;height:56px;padding:0 24px;border:0;border-radius:var(--r-btn);background:#fff;color:var(--text);font-size:var(--fs-body)}
.hx-search input:focus{outline:0;box-shadow:0 0 0 3px rgba(242,167,75,.6)}
.hx-search .btn{height:56px;padding:0 26px}
.hx-search .hx-cta{margin-left:6px;padding:0 34px}

/* 검색 페이지 */
.search{display:flex;gap:10px}
.search input{flex:1;min-width:0;height:52px;padding:0 20px;border:1px solid var(--line);border-radius:var(--r-btn);font-size:var(--fs-body);background:#fff;color:var(--text)}
.search input:focus{outline:0;border-color:var(--navy)}
.search .btn{height:52px}
.search.card{padding:14px}

/* 퀵서비스(생애주기 4단계) — 2차 시안 구조·배치·카드 형태 유지, 배경색·글자 크기만 조정(요청서 [18]) */
.quick-grid{display:grid;grid-template-columns:3fr 3fr 3fr 2fr;gap:16px}
.quick-stage-h{display:block;text-align:center;font-weight:600;font-size:var(--fs-card);letter-spacing:-.02em;color:var(--text);padding:6px 0 16px}
.quick-stage-h:hover{color:var(--navy)}
.quick-tiles{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:10px}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:150px;padding:14px 4px;border-radius:18px;background:#fff;text-align:center;font-size:var(--fs-body);font-weight:500;line-height:1.7;transition:box-shadow .15s,transform .15s}
.tile span{line-height:1.35}
.tile .ic{color:var(--navy)}
.tile:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px);color:var(--text)}

/* 통합 스케줄표 — [4] 문자 크기 확대 + 강조 */
.cal-title{max-width:1000px;margin:0 auto}
.cal-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:28px}
.cal-legend li{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 18px;border-radius:var(--r-btn);background:var(--gray-bg);font-size:var(--fs-small);color:var(--text)}
.cal-legend i{width:8px;height:8px;border-radius:50%;background:currentColor}
.cal-legend li i{color:inherit}
.cal-box{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:20px;align-items:start}
.cal-month{background:var(--gray-bg);border-radius:var(--r-card);padding:32px}
.cal-mh{display:flex;align-items:baseline;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.cal-mh b{font-size:calc(30px * var(--hs));font-weight:600;letter-spacing:-.02em}
.cal-mh span{color:var(--text-2);font-size:var(--fs-small)}
.cal-mh a{margin-left:auto;font-size:var(--fs-small);color:var(--navy);font-weight:500}
.cal{width:100%;border-collapse:separate;border-spacing:8px;table-layout:fixed;margin:-8px;width:calc(100% + 16px)}
.cal th{font-weight:500;color:var(--text-2);padding:4px 0;text-align:center;font-size:var(--fs-small)}
.cal th:first-child{color:var(--red)}
.cal td{height:clamp(72px,6.6vw,96px);vertical-align:top;padding:8px 9px;background:#fff;border-radius:12px}
.cal td.off{background:transparent}
.cal td:first-child .cal-d{color:var(--red)}
.cal .cal-d{display:inline-block;min-width:28px;height:28px;line-height:28px;text-align:center;border-radius:50%;font-weight:600;font-size:17px}
.cal td.today{box-shadow:inset 0 0 0 2px var(--navy)}
.cal td.today .cal-d{background:var(--navy);color:#fff!important}
.g-tax{--evc:var(--navy);color:var(--navy)} .g-registry{--evc:#5B5650;color:#5B5650} .g-labor{--evc:var(--green);color:var(--green)} .g-personal{--evc:var(--rust);color:var(--rust)} .g-etc{--evc:#8E8E93;color:#8E8E93}
.cal .ev{display:block;font-style:normal;font-size:14px;font-weight:500;line-height:24px;margin-top:4px;padding:0 8px;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;background:var(--evc,var(--navy))}
.cal .ev.more{background:none;color:var(--text-2);padding:0 2px}
.cal-side{display:flex;flex-direction:column;gap:12px}
.cal-up{display:flex;flex-direction:column;gap:12px}
.cal-up li{display:flex;flex-direction:column;gap:6px;padding:22px 24px;border-radius:var(--r-card);background:var(--gray-bg);border-left:4px solid currentColor}
.cal-up li b{font-size:var(--fs-small);font-weight:600}
.cal-up li strong{font-size:calc(22px * var(--hs));font-weight:600;color:var(--text);letter-spacing:-.02em;line-height:1.35}
.cal-up li span{font-size:var(--fs-small);color:var(--text-2)}
.cal-up .cal-none{border-left:0;color:var(--text-2);text-align:center;font-size:var(--fs-small)}
.cal-guest{font-size:14px;color:var(--text-2);text-align:right}
.cal-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* 공지 + 상담 */
.hs-last-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.hs-col{display:flex;flex-direction:column;gap:20px;min-width:0}
.hs-col>.card{flex:1;margin:0}
.hs-last .tabs{display:flex;flex-direction:column}
.hs-last .tabs .list{flex:1}
.hs-last .consult .consult-h{display:none}
.tab-list{display:flex;gap:6px;margin-bottom:8px}
.tab-list button{flex:1;height:42px;border:0;background:var(--gray-bg);border-radius:var(--r-btn);font-weight:500;font-size:var(--fs-small);cursor:pointer;color:var(--text-2);white-space:nowrap}
.tab-list button[aria-selected=true]{background:var(--navy);color:#fff}

/* 투자(임시) */
.sub-amber{margin-top:20px;font-size:var(--fs-sub);font-weight:600;color:var(--amber)}

/* 회사소개 */
.hx-about{color:#fff}
.hx-about::after{background:linear-gradient(90deg,rgba(6,16,28,.88) 0%,rgba(6,16,28,.34) 100%)}
.hx-about .hx-in{max-width:none}
.hx-about h1{font-size:calc(64px * var(--hs))}
.hx-about .hx-sub{font-size:var(--fs-body)}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:.14em;color:var(--amber);margin-bottom:14px}
.ab{padding:var(--sec-pad) 0}
.ab h2{font-size:var(--fs-sec);font-weight:600;letter-spacing:-.03em;line-height:1.2}
.ab-greet{background:var(--page)}
.ab-greet-in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.ab-photo{margin:0;aspect-ratio:4/5;border-radius:var(--r-card);overflow:hidden;background:var(--gray-bg)}
.ab-photo img{width:100%;height:100%;object-fit:cover}
.ab-photo-ph{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-2);font-size:var(--fs-small)}
.ab-greet-txt h2{margin-bottom:28px;font-size:calc(40px * var(--hs))}
.ab-greet-txt p:not(.eyebrow){font-size:var(--fs-body);line-height:1.85;color:var(--text-2);margin-bottom:16px}
.ab-greet-txt .ab-sign{margin-top:24px;font-weight:600;color:var(--text)}
.ab-experts{background:var(--gray-bg)}
.ab-lead{margin-top:18px;max-width:820px;font-size:var(--fs-body);line-height:1.8;color:var(--text-2)}
.ab-ex-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:48px}
.ab-ex{display:flex;flex-direction:column;gap:8px;border-color:transparent}
.ab-ex b{font-size:var(--fs-card);font-weight:600}
.ab-ex span{color:var(--text-2)}
.ab-note{margin-top:22px;color:var(--text-2);font-size:var(--fs-small)}
.ab-rules{background:var(--page)}
.ab-rule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ab-rule{background:var(--gray-bg);border-color:transparent}
.ab-rule h3{font-size:var(--fs-card);margin:14px 0 10px}
.ab-rule p{color:var(--text-2);line-height:1.75}
.ab-num{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 12px;border-radius:var(--r-btn);background:var(--navy);color:#fff;font-weight:600;font-size:var(--fs-small)}
.ab-rule .ab-num{background:var(--amber);color:var(--text)}
.ab-steps{background:var(--gray-bg)}
.ab-step-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:48px 0 0;padding:0;list-style:none}
.ab-step-list li{display:flex;flex-direction:column;gap:10px;border-color:transparent}
.ab-step-list b{font-size:calc(22px * var(--hs));font-weight:600}
.ab-step-list p{color:var(--text-2);font-size:var(--fs-small)}
.ab-close{background:var(--navy-deep);color:#fff;text-align:center}
.ab-close h2{color:#fff}
.ab-close p{margin:16px 0 40px;color:rgba(255,255,255,.72);font-size:var(--fs-body)}
.ab-close .btn{background:#fff;border-color:#fff;color:var(--navy)}

@media (max-width:1100px){
  .quick-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .cal-box{grid-template-columns:minmax(0,1fr)}
  .cal-up{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .ab-ex-grid,.ab-step-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:720px){
  .hx{height:auto;min-height:0}
  .hx-in{padding-top:72px;padding-bottom:48px}
  .hx-main::after{background:linear-gradient(180deg,rgba(6,16,28,.88) 0%,rgba(6,16,28,.6) 100%)}
  .hx-q{margin-top:18px}
  .hx-sub br{display:none}
  .hx-search{margin-top:36px}
  .hx-search-row{flex-wrap:wrap}
  .hx-search input{flex:1 1 100%;height:52px}
  .hx-search .btn{flex:1;height:50px}
  .hx-search .hx-cta{margin-left:0}
  .quick-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .quick-stage-h{padding-bottom:12px}
  .quick-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tile{height:112px;font-size:15px;gap:8px}
  .cal-title br{display:none}
  .cal-month{padding:16px}
  .cal{border-spacing:4px;margin:-4px;width:calc(100% + 8px)}
  .cal td{height:54px;padding:4px;border-radius:8px}
  .cal .cal-d{font-size:14px;min-width:22px;height:22px;line-height:22px}
  .cal th{font-size:13px}
  .cal .ev{font-size:0;height:6px;line-height:6px;padding:0;margin-top:3px;border-radius:3px}
  .cal .ev.more{display:none}
  .cal-up{display:flex}
  .cal-up li{padding:18px 20px}
  .hs-last-in{grid-template-columns:minmax(0,1fr)}
  .tab-list button{font-size:14px}
  .hx-about h1{font-size:calc(34px * var(--hs))}
  .ab-greet-in{grid-template-columns:minmax(0,1fr);gap:28px}
  .ab-photo{max-width:280px}
  .ab-greet-txt h2{font-size:calc(28px * var(--hs))}
  .ab-ex-grid,.ab-step-list,.ab-rule-grid{grid-template-columns:minmax(0,1fr)}
}
