/* ── SUB HERO ── */
.sub-hero{padding:calc(var(--NAV) + 60px) 0 64px;background:linear-gradient(135deg,#F0F4FF 0%,#FAFBFF 100%);text-align:center}
.sub-eyebrow{font-size:13px;font-weight:600;color:var(--N);letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px}
.sub-hero h1{font-size:clamp(36px,5vw,58px);font-weight:800;letter-spacing:-.035em;color:var(--T);margin-bottom:20px}
.sub-hero-desc{font-size:clamp(15px,1.5vw,18px);color:var(--M);line-height:1.85;word-break:keep-all;margin-bottom:28px}
.sub-hero-desc b{color:var(--N);font-weight:700}
.sub-hero-tags{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.sub-hero-tags span{background:#fff;border:1.5px solid var(--BD);border-radius:999px;padding:8px 20px;font-size:14px;color:var(--M)}
.sub-hero-tags span b{color:var(--N);font-weight:700}

/* ── CHECK GRID ── */
.check-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px;margin:0 auto}
.check-box{border-radius:16px;padding:36px;border:2px solid}
.check-box.good{background:#F0FDF4;border-color:#BBF7D0}
.check-box.bad{background:#FFF1F2;border-color:#FECDD3}
.cb-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.cb-icon{font-size:22px}
.cb-head h3{font-size:21px;font-weight:700;color:var(--T)}
.check-box.good .cb-head h3{color:#166534}
.check-box.bad .cb-head h3{color:#9F1239}
.check-box ul{display:flex;flex-direction:column;gap:10px}
.check-box li{font-size:17px;color:var(--T);line-height:1.6;padding-left:18px;position:relative}
.check-box li::before{content:'•';position:absolute;left:0;color:var(--N)}
.check-box.bad li::before{color:#E11D48}

/* ── PROCESS ── */
.process-wrap{display:flex;align-items:flex-start;gap:0;justify-content:center;flex-wrap:wrap}
.proc-step{flex:0 0 160px;text-align:center;padding:24px 16px}
.ps-num{font-size:15px;font-weight:700;color:var(--N);letter-spacing:.04em;margin-bottom:12px}
.ps-ico{font-size:36px;margin-bottom:12px}
.proc-step h4{font-size:22px;font-weight:700;color:var(--T);margin-bottom:8px}
.proc-step p{font-size:18px;color:var(--M);line-height:1.6;word-break:keep-all}
.proc-arrow{font-size:24px;color:var(--N);padding-top:60px;flex-shrink:0}

/* ── QUICK LINKS ── */
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.quick-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:28px 16px;border:1.5px solid var(--BD);border-radius:14px;font-size:15px;font-weight:600;color:var(--T);text-align:center;transition:all .2s;background:#fff}
.quick-card span:first-child{font-size:32px}
.quick-card:hover{border-color:var(--N);color:var(--N);transform:translateY(-3px);box-shadow:0 8px 24px rgba(13,37,80,.08)}
.quick-card.navy{background:#fff;color:var(--T);border-color:var(--BD);border-width:1.5px}
.quick-card.navy:hover{border-color:var(--N);color:var(--N);transform:translateY(-3px);box-shadow:0 8px 24px rgba(13,37,80,.08)}

/* ── ABOUT CONSULT FORM ── */
.about-consult-sec{background:linear-gradient(135deg,#0D2550 0%,#1B3A8C 100%)}
.about-consult-wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ac-left .sub-eyebrow{color:rgba(255,255,255,.55)}
.ac-left h2{font-size:clamp(28px,3.5vw,46px);font-weight:900;color:#fff;line-height:1.25;letter-spacing:-.03em;margin:16px 0 20px;word-break:keep-all}
.ac-left p{font-size:15px;color:rgba(255,255,255,.6);line-height:1.8}
.ac-right{background:#fff;border-radius:20px;padding:40px 36px;display:flex;flex-direction:column;gap:20px}
.acf-row{display:flex;flex-direction:column;gap:6px}
.acf-lbl{font-size:13px;font-weight:700;color:var(--T)}
.req{color:var(--N)}
.acf-input{width:100%;padding:12px 14px;border:1.5px solid var(--BD);border-radius:10px;font-size:14px;color:var(--T);font-family:inherit;outline:none;transition:border-color .2s;box-sizing:border-box;background:#fff}
.acf-input:focus{border-color:var(--N)}
.acf-ta{height:100px;resize:none}
.acf-agree{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--M)}
.acf-agree a{color:var(--N);text-decoration:none;font-size:12px}
.acf-btn{width:100%;background:var(--N);color:#fff;font-size:15px;font-weight:700;padding:16px;border-radius:12px;border:none;cursor:pointer;font-family:inherit;transition:background .2s}
.acf-btn:hover{background:var(--DARK)}
@media(max-width:900px){.about-consult-wrap{grid-template-columns:1fr}}

/* ── FEAT WHITE ── */
.fc-w{background:#F7F9FF;border:1.5px solid #DDE5F7;border-radius:16px;padding:40px 28px;transition:background .2s,transform .2s;text-align:center}
.fc-w:hover{background:#EEF2FF;border-color:var(--N);transform:translateY(-3px)}
.fc-w h4{font-size:17px;font-weight:800;color:var(--T);word-break:keep-all;margin-bottom:10px}
.fc-w p{font-size:13px;color:var(--M);line-height:1.7;word-break:keep-all}

/* ── ABOUT ── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin-bottom:64px}
.about-img{border-radius:20px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.about-text h2{font-size:clamp(24px,3vw,36px);font-weight:800;line-height:1.3;letter-spacing:-.025em;margin-bottom:16px;word-break:keep-all}
.about-text h2 b{color:var(--N)}
.about-text p{font-size:15px;color:var(--M);line-height:1.85;word-break:keep-all}
.about-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.anum{text-align:center;padding:28px;background:#F7F8FC;border-radius:14px}
.anum-n{font-size:36px;font-weight:900;color:var(--N);letter-spacing:-.02em}
.anum-l{font-size:13px;color:var(--M);margin-top:6px}

/* ── QUALIFY QUIZ ── */
.quiz-step{display:none;max-width:640px;margin:0 auto;text-align:center;padding:48px 0}
.quiz-step.active{display:block}
.q-step-num{font-size:13px;font-weight:700;color:var(--N);margin-bottom:20px}
.q-step-q{font-size:clamp(20px,2.5vw,28px);font-weight:800;line-height:1.35;letter-spacing:-.025em;margin-bottom:36px;word-break:keep-all}
.q-opts{display:flex;flex-direction:column;gap:12px}
.q-opt{width:100%;padding:16px 24px;border:1.5px solid var(--BD);border-radius:12px;font-size:15px;font-weight:500;color:var(--T);background:#fff;text-align:left;cursor:pointer;transition:all .2s;font-family:inherit}
.q-opt:hover,.q-opt.sel{border-color:var(--N);background:#EEF2FF;color:var(--N);font-weight:600}
.q-next{margin-top:28px;background:var(--N);color:#fff;font-size:15px;font-weight:700;padding:15px 52px;border-radius:10px;border:none;cursor:pointer;font-family:inherit;display:none}
.q-next.on{display:inline-block}
.q-progress{display:flex;gap:6px;justify-content:center;margin-bottom:40px}
.q-dot{width:8px;height:8px;border-radius:50%;background:var(--BD);transition:background .2s}
.q-dot.done{background:var(--N)}

/* ── CONSULT FORM ── */
.consult-full{max-width:700px;margin:0 auto}
.step-form{display:none}
.step-form.active{display:block}
.sf-title{font-size:22px;font-weight:800;color:var(--T);margin-bottom:8px}
.sf-sub{font-size:14px;color:var(--M);margin-bottom:32px}
.sf-btns{display:flex;gap:12px;justify-content:flex-end;margin-top:28px}
.sf-prev{background:none;border:1.5px solid var(--BD);color:var(--M);font-size:14px;font-weight:600;padding:13px 28px;border-radius:10px;cursor:pointer;font-family:inherit}
.sf-next{background:var(--N);color:#fff;font-size:14px;font-weight:700;padding:13px 36px;border-radius:10px;border:none;cursor:pointer;font-family:inherit}
.step-bar{display:flex;gap:0;margin-bottom:40px;border-radius:999px;overflow:hidden;height:6px;background:var(--BD)}
.step-fill{height:100%;background:var(--N);transition:width .3s}
.radio-group{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.radio-opt{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1.5px solid var(--BD);border-radius:10px;cursor:pointer;font-size:14px;transition:all .2s}
.radio-opt:hover{border-color:var(--N);background:#EEF2FF}
.radio-opt input{accent-color:var(--N)}

/* ── COLUMN LIST ── */
.col-slider-wrap{position:relative;max-width:860px;margin:0 auto}
.col-viewport{overflow:hidden}
.col-track{display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.4,0,.2,1)}
.col-list{display:flex;flex-direction:column;gap:0}
.col-item{padding:28px 0;border-bottom:1px solid var(--BD);display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;cursor:pointer;transition:background .15s}
.col-item:hover .col-title{color:var(--N)}
.col-tag{display:inline-block;background:#EEF2FF;color:var(--N);font-size:11px;font-weight:700;padding:4px 12px;border-radius:999px;white-space:nowrap;margin-top:2px}
.col-title{font-size:17px;font-weight:600;color:var(--T);margin-bottom:8px;line-height:1.5;word-break:keep-all;transition:color .2s}
.col-desc{font-size:13px;color:var(--M);line-height:1.7;word-break:keep-all}
.col-date{font-size:12px;color:#aaa;margin-top:8px}
.col-nav{display:flex;flex-direction:column;align-items:center;gap:8px;position:absolute;right:-52px;top:50%;transform:translateY(-50%)}
.col-nav-btn{width:40px;height:40px;border:2px solid var(--BD);border-radius:50%;background:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;color:var(--N);transition:all .2s}
.col-nav-btn:hover:not(:disabled){background:var(--N);color:#fff;border-color:var(--N)}
.col-nav-btn:disabled{opacity:.3;cursor:default}

/* ── REVIEWS ── */
.rv-slider-wrap{overflow:hidden}
.rv-track{display:flex;transition:transform .6s cubic-bezier(.4,0,.2,1)}
.rv-slide{min-width:100%;flex-shrink:0}
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.rv-notice{display:flex;align-items:flex-start;gap:10px;background:#F8F9FF;border:1.5px solid #DDE3F5;border-radius:12px;padding:14px 20px;margin-bottom:32px;max-width:100%;justify-content:center;text-align:center}
.rv-notice-icon{font-size:16px;flex-shrink:0;margin-top:1px}
.rv-notice p{font-size:15px;color:#6B7A9A;line-height:1.7;word-break:keep-all;margin:0}
.rv-card{background:#fff;border:1.5px solid var(--BD);border-radius:16px;padding:28px;transition:box-shadow .2s}
.rv-card:hover{box-shadow:0 8px 28px rgba(13,37,80,.08)}
.rv-top{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.rv-avatar{width:56px;height:56px;border-radius:50%;background-image:url('./review-bundle.png');background-size:300% 200%;flex-shrink:0;overflow:hidden}
.rv-avatar2{background-image:url('./review-bundle-2.png')}
.rv-info{font-size:13px;color:var(--M)}
.rv-name{font-size:15px;font-weight:700;color:var(--T);margin-bottom:2px}
.rv-title{font-size:15px;font-weight:600;color:var(--T);margin-bottom:10px;line-height:1.4;word-break:keep-all}
.rv-body{font-size:13px;color:var(--M);line-height:1.8;word-break:keep-all}
.rv-stars{color:#F5B731;font-size:14px;margin-top:12px}

/* ── PRIVACY MODAL ── */
.pv-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .2s}
.pv-modal-overlay.on{opacity:1;pointer-events:all}
.pv-modal{background:#fff;border-radius:16px;width:100%;max-width:820px;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.25);transform:translateY(12px);transition:transform .2s}
.pv-modal-overlay.on .pv-modal{transform:translateY(0)}
.pv-modal-head{display:flex;justify-content:space-between;align-items:center;padding:26px 36px;border-bottom:1px solid var(--BD);flex-shrink:0}
.pv-modal-head h2{font-size:20px;font-weight:800;color:var(--T);letter-spacing:-.02em}
.pv-modal-close{background:none;border:none;font-size:15px;font-weight:600;color:var(--M);cursor:pointer;font-family:inherit;padding:6px 10px;border-radius:6px;transition:background .15s}
.pv-modal-close:hover{background:#F3F4F6}
.pv-modal-body{overflow-y:auto;padding:32px 36px;flex:1;font-size:14px;color:var(--M);line-height:1.9}
.pv-modal-body h3{font-size:15px;font-weight:800;color:var(--N);margin:28px 0 10px}
.pv-modal-body h3:first-child{margin-top:0}
.pv-modal-body p{margin-bottom:10px;word-break:keep-all}
.pv-modal-body ul,.pv-modal-body ol{padding-left:18px;margin-bottom:10px;display:flex;flex-direction:column;gap:6px}
.pv-modal-body li{word-break:keep-all}
.pv-modal-info{background:#F7F9FF;border-radius:10px;padding:16px 20px;margin-top:10px;display:flex;flex-direction:column;gap:4px}
@media(max-width:640px){.pv-modal-head{padding:20px 20px}.pv-modal-body{padding:24px 20px}}

/* ── PRIVACY ── */
.privacy-wrap{max-width:860px;margin:0 auto}
.pv-block{margin-bottom:40px;padding-bottom:40px;border-bottom:1px solid var(--BD)}
.pv-block:last-child{border-bottom:none}
.pv-block h3{font-size:17px;font-weight:800;color:var(--N);margin-bottom:14px}
.pv-block p{font-size:14px;color:var(--M);line-height:1.9;margin-bottom:10px;word-break:keep-all}
.pv-block ul,.pv-block ol{padding-left:18px;display:flex;flex-direction:column;gap:8px}
.pv-block li{font-size:14px;color:var(--M);line-height:1.8;word-break:keep-all}
.pv-info{background:#F7F9FF;border-radius:12px;padding:20px 24px;margin-top:12px;display:flex;flex-direction:column;gap:6px}
.pv-info p{margin:0;font-size:14px;color:var(--T)}

/* ── DIRECTIONS ── */
.map-wrap{border-radius:16px;height:420px;overflow:hidden;margin-bottom:32px;position:relative}
.map-link-btn{position:absolute;bottom:16px;right:16px;background:var(--N);color:#fff;font-size:13px;font-weight:700;padding:10px 18px;border-radius:8px;text-decoration:none;z-index:10}
.map-link-btn:hover{background:var(--N2)}
.dir-info{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.di-card{background:#F7F8FC;border-radius:12px;padding:24px}
.di-card h4{font-size:14px;font-weight:700;color:var(--N);margin-bottom:10px}
.di-card p{font-size:13px;color:var(--M);line-height:1.8}

/* ── LAWYER ── */
.lawyer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.lw-card{border:1.5px solid var(--BD);border-radius:16px;overflow:hidden;transition:box-shadow .2s}
.lw-card:hover{box-shadow:0 8px 28px rgba(13,37,80,.08)}
.lw-photo{background:linear-gradient(135deg,#EEF2FF,#C7D8FF);height:300px;display:flex;align-items:center;justify-content:center;font-size:64px}
.lw-info{padding:24px}
.lw-eng{font-size:11px;font-weight:600;color:var(--M);letter-spacing:.1em;margin-bottom:4px}
.lw-name{font-size:20px;font-weight:800;color:var(--T);margin-bottom:4px}
.lw-title{font-size:13px;color:var(--N);font-weight:600;margin-bottom:14px}
.lw-career{display:flex;flex-direction:column;gap:6px}
.lw-career li{font-size:13px;color:var(--M);padding-left:14px;position:relative}
.lw-career li::before{content:'·';position:absolute;left:0}

/* ── CALCULATOR ── */
.calc-wrap{max-width:760px;margin:0 auto}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
.calc-field{display:flex;flex-direction:column;gap:8px}
.calc-field label{font-size:14px;font-weight:700;color:var(--T)}
.calc-field-unit{display:flex;align-items:center;gap:8px;border:2px solid #E5E7EB;border-radius:10px;padding:12px 16px;background:#fff;transition:border-color .2s}
.calc-field-unit:focus-within{border-color:var(--N)}
.calc-field-unit input{flex:1;border:none;outline:none;font-size:18px;font-weight:700;color:var(--T);min-width:0;background:transparent}
.calc-field-unit span{font-size:14px;color:#9CA3AF;font-weight:500;white-space:nowrap}
.calc-field-readonly .calc-field-unit{background:#F3F4F6;border-color:#E5E7EB}
.calc-field-readonly input{color:var(--N);background:transparent}
.calc-btns{display:flex;gap:12px;margin:8px 0 32px}
.calc-btn-reset{flex:1;padding:16px;border:2px solid #E5E7EB;border-radius:10px;background:#fff;font-size:16px;font-weight:700;color:#6B7280;cursor:pointer}
.calc-btn-go{flex:2;padding:16px;border:none;border-radius:10px;background:var(--N);color:#fff;font-size:16px;font-weight:700;cursor:pointer}
.calc-btn-go:hover{background:var(--N2)}
.calc-result{background:linear-gradient(135deg,var(--N),var(--N2));border-radius:16px;padding:40px 36px;text-align:center;color:#fff;display:none}
.calc-result.show{display:block}
.calc-result-l{font-size:14px;opacity:.75;margin-bottom:8px}
.calc-result-n{font-size:48px;font-weight:900;letter-spacing:-.03em;margin-bottom:4px}
.calc-result-s{font-size:15px;opacity:.8;margin-top:12px}
.calc-result-row{display:flex;justify-content:center;gap:48px;margin-top:24px;flex-wrap:wrap}
.calc-result-item{text-align:center}
.calc-result-item .ri-label{font-size:13px;opacity:.7;margin-bottom:4px}
.calc-result-item .ri-val{font-size:24px;font-weight:800}

@media(max-width:900px){
  .check-grid{grid-template-columns:1fr}
  .about-grid{grid-template-columns:1fr}
  .about-consult-wrap{grid-template-columns:1fr}
  .ac-left{text-align:center}
  .process-wrap{gap:0}
  .proc-arrow{display:none}
  .proc-step{flex:0 0 calc(50% - 12px)}
  .quick-grid{grid-template-columns:repeat(2,1fr)}
  .review-grid{grid-template-columns:1fr 1fr}
  .lawyer-grid{grid-template-columns:1fr 1fr}
  .dir-info{grid-template-columns:1fr}
}
@media(max-width:640px){
  .proc-step{flex:0 0 100%}
  .about-nums{grid-template-columns:repeat(3,1fr)}
  .anum{padding:20px 10px}
  .anum-n{font-size:26px}
  .review-grid{grid-template-columns:1fr}
  .quick-grid{grid-template-columns:1fr 1fr}
  .lawyer-grid{grid-template-columns:1fr 1fr;gap:12px}
  .feat-grid{grid-template-columns:1fr 1fr}
  .fc-w{padding:24px 16px}
  .ac-right{padding:28px 20px}
  .acf-btn{font-size:14px;padding:14px}
  .calc-wrap{padding:0}
  .quiz-step{padding:32px 0}
  .sub-hero{padding:calc(var(--NAV) + 40px) 0 40px}
  .sub-hero h1{font-size:32px}
  .lw-photo{height:auto;aspect-ratio:4/5;font-size:40px}
  .lw-info{padding:14px 12px}
  .lw-name{font-size:15px}
}
