:root {
  --cyan: #21d3fe;
  --blue: #5297ff;
  --violet: #9144fa;
  --navy: #071a38;
  --navy-2: #102650;
  --navy-3: #243f82;
  --ink: #101b38;
  --muted: #63708e;
  --paper: #f4f7ff;
  --white: #fff;
  --gold: #21d3fe;
  --gold-soft: #bceeff;
  --gradient-main: linear-gradient(145deg,#21d3fe 0%,#5297ff 52%,#9144fa 100%);
  --gradient-dark: linear-gradient(135deg,#061a37 0%,#162e67 56%,#421c73 100%);
  --gradient-soft: linear-gradient(145deg,#edfbff 0%,#edf3ff 53%,#f5edff 100%);
  --gradient-hero-light: radial-gradient(circle at 78% 35%,rgba(82,151,255,.08),transparent 34%),linear-gradient(180deg,#fff 0%,#f8fbff 100%);
  --line: rgba(255,255,255,.16);
  --sans: "Noto Sans KR", sans-serif;
  --serif: "Gowun Batang", serif;
}

* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  scroll-padding-top: 86px;
  overflow-x: clip;
  overflow-y: auto;
  background: #07142f;
  scrollbar-width: thin;
  scrollbar-color: #66758c #07142f;
}
html::-webkit-scrollbar { width: 8px; }
html::-webkit-scrollbar-track { background: #07142f; }
html::-webkit-scrollbar-thumb { border: 2px solid #07142f; border-radius: 999px; background: #66758c; }
html::-webkit-scrollbar-thumb:hover { background: #8291a7; }
body { min-height: 100vh; margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); word-break: keep-all; overflow-x: clip; display: flex; flex-direction: column; }
body > main { flex: 1 0 auto; }
body > .site-footer { flex: 0 0 auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; width: 100%; }
.noise { position: fixed; inset: 0; opacity: .025; pointer-events: none; z-index: 99; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E"); }

.site-header { height: 86px; padding: 0 clamp(24px, 5vw, 84px); display: flex; align-items: center; justify-content: space-between; background: rgba(6,26,55,.92); color: #fff; border-bottom: 1px solid rgba(188,238,255,.2); position: fixed; top: 0; left: 0; width: 100%; z-index: 80; backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.brand { display: flex; align-items: center; gap: 12px; }
.brand img { width: 44px; height: 44px; border-radius: 50%; }
.brand span { display: flex; flex-direction: column; line-height: 1.25; }
.brand b { font-size: 17px; letter-spacing: -.03em; }
.brand small { font-size: 9px; color: #a9dcf4; letter-spacing: .12em; margin-top: 3px; }
.site-header nav { display: flex; align-items: center; gap: clamp(24px,3vw,48px); margin-left: auto; margin-right: 0; }
.site-header nav a { font-size: 14px; color: #dcecff; transition: color .25s; }
.site-header nav a:hover { color: var(--gold-soft); }
.directions-body .site-header > a:first-child { transform: translateY(5px); }
.header-call { display: flex; align-items: center; gap: 14px; padding-left: 28px; border-left: 1px solid var(--line); }
.header-call span { font-size: 11px; color: #9fcde6; }
.header-call b { font-size: 19px; letter-spacing: .02em; }
.menu-toggle { display: none; position: relative; z-index: 83; background: none; border: 0; padding: 10px; cursor: pointer; }
.menu-toggle i { display: block; width: 24px; height: 1px; margin: 5px 6px; background: #fff; }
.menu-toggle[aria-expanded="true"] { position: fixed; top: 34px; right: 20px; width: 34px; height: 34px; padding: 0; border: 1px solid rgba(188,238,255,.44); border-radius: 9px; display: block; background: rgba(255,255,255,.06); box-shadow: 0 6px 18px rgba(0,0,0,.14); animation: menuCloseButtonIn .34s cubic-bezier(.22,1,.36,1) .1s both; }
.menu-toggle[aria-expanded="true"] i { position: absolute; top: 16px; left: 7px; width: 18px; margin: 0; }
.menu-toggle[aria-expanded="true"] i:first-child { transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] i:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] i:last-child { transform: rotate(-45deg); }
.menu-toggle:focus-visible { outline: 1px solid rgba(188,238,255,.7); outline-offset: 2px; border-radius: 5px; }
.menu-backdrop { position: fixed; z-index: 79; inset: 0; border: 0; padding: 0; opacity: 0; visibility: hidden; background: rgba(2,10,28,.62); backdrop-filter: blur(3px); transition: opacity .35s ease,visibility .35s; }
.menu-backdrop.open { opacity: 1; visibility: visible; }
body.menu-open { overflow: hidden; }
body.menu-open .site-header .brand { opacity: 0; pointer-events: none; }

.hero { min-height: 960px; height: auto; overflow: hidden; position: relative; display: grid; grid-template-columns: minmax(0,1fr); color: var(--ink); background: var(--gradient-hero-light); border-top: 1px solid #dbe7f5; }
.hero::before { content: ""; position: absolute; z-index: 1; width: min(46vw,680px); aspect-ratio: 1; left: -18vw; bottom: -28%; border: 1px solid rgba(82,151,255,.14); border-radius: 50%; box-shadow: 0 0 0 90px rgba(33,211,254,.025),0 0 0 180px rgba(145,68,250,.02); pointer-events: none; }
.hero::after { content: "YULMARU"; position: absolute; z-index: 1; right: clamp(28px,4vw,72px); top: 132px; color: rgba(49,118,217,.065); font: 700 clamp(54px,7vw,120px)/1 var(--sans); letter-spacing: -.06em; pointer-events: none; }
.hero-copy { align-self: center; justify-self: center; z-index: 4; width: min(1040px,100%); padding: 142px clamp(28px,5vw,72px) 92px; text-align: center; }
.eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 25px; font-size: 11px; font-weight: 700; letter-spacing: .16em; color: var(--gold-soft); }
.eyebrow span { width: 42px; height: 1px; background: var(--gold); }
.eyebrow.dark { color: #3478dc; }
.eyebrow.dark span { background: currentColor; }
.content .eyebrow.dark span { background: currentColor; }
.hero-kicker { margin: 0; font-family: var(--serif); font-weight: 700; font-size: clamp(40px,3.6vw,64px); line-height: 1.18; letter-spacing: -.06em; }
em { font-style: normal; color: var(--gold-soft); }
.hero-copy > .eyebrow { justify-content: center; }
.hero .eyebrow { color: #3176d9; }
.hero .eyebrow span { background: #4f83e7; }
.hero .hero-kicker { color: #081a38; }
.hero .hero-kicker em { color: #574bdc; }
.hero-desc { color: #b7cce5; font-size: clamp(15px,.95vw,17px); line-height: 1.85; margin: 25px 0 22px; }
.hero-topics { display: flex; justify-content: center; flex-wrap: wrap; gap: 7px; }
.hero-topics span { padding: 8px 12px; border: 1px solid rgba(33,211,254,.23); background: rgba(82,151,255,.08); color: #d5e8ff; font-size: 10px; letter-spacing: .02em; }
.btn { min-width: 200px; padding: 18px 24px; display: inline-flex; justify-content: space-between; align-items: center; font-size: 14px; font-weight: 700; transition: .25s ease; border: 1px solid transparent; }
.btn-primary { background: var(--gradient-main); color: #fff; box-shadow: 0 12px 30px rgba(82,151,255,.22); }
.btn-primary:hover { filter: brightness(1.08); transform: translateY(-2px); }
.btn-ghost { color: #fff; border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.02); }
.btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.privacy-note { justify-content: flex-start; min-height: 18px; margin: 0 0 16px; padding-left: 6px; color: #a8c7df; display: flex; align-items: center; gap: 8px; font-size: 13px; line-height: 18px; }
.pulse { position: relative; width: 7px; height: 7px; flex: 0 0 auto; background: #31e981; border-radius: 50%; box-shadow: 0 0 8px rgba(49,233,129,.9),0 0 0 5px rgba(49,233,129,.12); }
.pulse::after { content: ""; position: absolute; inset: -1px; border: 1px solid rgba(49,233,129,.8); border-radius: 50%; animation: consult-pulse-glow 1.8s ease-out infinite; }
@keyframes consult-pulse-glow { 0% { opacity: .85; transform: scale(1); } 75%,100% { opacity: 0; transform: scale(3.2); } }
@media (prefers-reduced-motion: reduce) { .pulse::after { animation: none; opacity: 0; } }
.hero-consult-card { width: min(680px,100%); margin: 28px auto 0; padding: 16px 30px 28px; border: 1px solid rgba(188,238,255,.3); border-radius: 18px; background: linear-gradient(135deg,rgba(10,40,85,.8),rgba(74,35,128,.52)); box-shadow: 0 28px 70px rgba(0,0,0,.2); backdrop-filter: blur(12px); text-align: left; }
.consult-lawyer-selector { margin: 0 0 13px; padding-bottom: 12px; border-bottom: 1px solid rgba(188,238,255,.18); }
.consult-lawyer-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 7px; }
.consult-lawyer-heading small { color: var(--cyan); font-size: 8px; font-weight: 800; letter-spacing: .14em; }
.consult-lawyer-heading strong { color: #fff; font-size: 13px; }
.consult-lawyer-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }
.consult-lawyer-card { min-width: 0; min-height: 48px; padding: 4px; border: 1px solid rgba(188,238,255,.2); border-radius: 8px; display: grid; grid-template-columns: 40px minmax(0,1fr); align-items: center; color: #fff; background: rgba(7,25,57,.48); cursor: pointer; text-align: left; transition: border-color .2s,background .2s,transform .2s; }
.consult-lawyer-card:hover,.consult-lawyer-card:focus-visible { border-color: rgba(188,238,255,.72); outline: 0; transform: translateY(-2px); }
.consult-lawyer-card.active { border-color: var(--cyan); background: rgba(39,91,160,.62); box-shadow: 0 0 0 2px rgba(33,211,254,.1); }
.consult-lawyer-card img { width: 40px; height: 40px; aspect-ratio: 1; border-radius: 5px; object-fit: contain; object-position: center bottom; background: linear-gradient(135deg,#5128a7,#496de0 52%,#19c7ec); }
.consult-lawyer-card span,.consult-lawyer-card b,.consult-lawyer-card small { display: block; }
.consult-lawyer-card span { padding: 6px 8px 6px 10px; text-align: left; }
.consult-lawyer-card b { overflow: hidden; color: #fff; font-size: 11px; font-weight: 800; line-height: 1.35; white-space: nowrap; text-overflow: ellipsis; }
.consult-lawyer-card small { margin-top: 4px; overflow: hidden; color: rgba(225,241,255,.88); font-size: 8.5px; font-weight: 500; line-height: 1.35; white-space: nowrap; text-overflow: ellipsis; }
.hero-consult-head { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 8px; margin-bottom: 22px; text-align: center; }
.hero-consult-head > span { color: var(--cyan); font-size: 8px; font-weight: 800; letter-spacing: .16em; white-space: nowrap; }
.hero-consult-head h2 { margin: 0; font: 700 27px/1.38 var(--serif); letter-spacing: -.04em; text-align: center; }
.hero-consult-card > label { text-align: center; }
.hero-consult-card > label, .consult-modal-panel form > label:not(.consult-agree), .consult-modal-panel legend { display: block; margin-bottom: 8px; color: #d9ebff; font-size: 12px; font-weight: 700; }
.hero-inquiry-wrap { position: relative; }
.hero-inquiry-wrap textarea { display: block; width: 100%; min-height: 190px; resize: vertical; padding: 17px 18px 30px; border: 1px solid #c4d8ef; border-radius: 11px; outline: 0; color: #101b38; background: #fff; font: 400 14px/1.7 var(--sans); box-shadow: inset 0 1px 3px rgba(21,53,101,.05); transition: border-color .2s, box-shadow .2s; }
.hero-inquiry-wrap textarea::placeholder { color: #7a8da8; }
.hero-inquiry-wrap textarea:focus { border-color: #5297ff; box-shadow: 0 0 0 3px rgba(82,151,255,.14); }
.hero-inquiry-wrap > span { position: absolute; right: 12px; bottom: 9px; color: #6e82a0; font-size: 9px; }
.hero-form-error { margin: 7px 0 0; color: #ffd1dd; font-size: 11px; }
.hero-consult-next { width: 100%; min-height: 50px; margin-top: 13px; padding: 0 17px; border: 0; border-radius: 9px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: var(--gradient-main); box-shadow: 0 12px 28px rgba(82,151,255,.2); font-size: 13px; font-weight: 800; cursor: pointer; transition: transform .2s, filter .2s; }
.hero-consult-next:hover { transform: translateY(-2px); filter: brightness(1.06); }
.hero-consult-next b { font-size: 18px; }
.hero-consult-help { margin: 10px 0 0 5px; color: rgba(255,255,255,.84); font-size: 11px; font-weight: 500; text-align: left; }
.scroll-cue { position: absolute; bottom: 35px; left: clamp(36px,5vw,90px); z-index: 3; display: flex; align-items: center; gap: 14px; font-size: 8px; letter-spacing: .2em; color: #4978bd; }
.scroll-cue i { display: block; width: 70px; height: 1px; background: linear-gradient(90deg,#4f83e7,transparent); }

body.consult-modal-open { overflow: hidden; }
.consult-modal[hidden] { display: none; }
.consult-modal { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; }
.consult-modal-backdrop { position: absolute; inset: 0; background: rgba(3,11,27,.76); backdrop-filter: blur(8px); }
.consult-modal-panel { position: relative; z-index: 1; width: min(510px,100%); max-height: calc(100vh - 48px); overflow-y: auto; padding: 34px; border: 1px solid rgba(188,238,255,.28); border-radius: 18px; color: #fff; background: linear-gradient(145deg,#0a254f 0%,#152f68 58%,#422074 100%); box-shadow: 0 35px 100px rgba(0,0,0,.42); transform: translateY(18px) scale(.98); opacity: 0; transition: transform .24s ease, opacity .24s ease; }
.consult-modal.open .consult-modal-panel { transform: none; opacity: 1; }
.consult-modal-close { position: absolute; top: 16px; right: 17px; width: 36px; height: 36px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; color: #dceeff; background: rgba(255,255,255,.04); font-size: 24px; line-height: 1; cursor: pointer; }
.consult-step { display: block; color: var(--cyan); font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.consult-modal-panel > h2 { margin: 12px 0 8px; font: 700 31px/1.3 var(--serif); }
.consult-modal-panel > p { margin: 0 42px 25px 0; color: #a9c7df; font-size: 12px; line-height: 1.7; }
.consult-modal-panel form { display: grid; gap: 10px; }
.consult-modal-panel form > label:not(.consult-agree) { margin: 4px 0 0; }
.consult-modal-panel input[type="text"], .consult-modal-panel input[type="tel"], .consult-modal-panel select { width: 100%; height: 48px; min-width: 0; padding: 0 13px; border: 1px solid rgba(188,238,255,.22); border-radius: 8px; outline: 0; color: #fff; background: rgba(3,17,38,.42); font: 500 14px var(--sans); }
.consult-modal-panel textarea { width: 100%; min-height: 150px; padding: 13px; resize: vertical; border: 1px solid rgba(188,238,255,.22); border-radius: 8px; outline: 0; color: #fff; background: rgba(3,17,38,.42); font: 500 14px/1.65 var(--sans); }
.consult-modal-panel input::placeholder,.consult-modal-panel textarea::placeholder { color: #617c9b; opacity: 1; }
.consult-modal-panel input:focus, .consult-modal-panel select:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(33,211,254,.1); }
.consult-modal-panel textarea:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(33,211,254,.1); }
.consult-modal-panel select option { color: var(--ink); background: #fff; }
.consult-modal-panel fieldset { min-width: 0; margin: 5px 0 0; padding: 0; border: 0; }
.consult-modal-panel legend { margin-bottom: 8px; }
.consult-modal-panel em { color: #e5484d; }
.consult-phone { display: grid; grid-template-columns: 92px 10px minmax(0,1fr) 10px minmax(0,1fr); gap: 8px; align-items: center; }
.consult-phone > span { color: #81a5c2; text-align: center; }
.consult-modal-panel [data-phone-input] { letter-spacing: .03em; }
.consult-agree { display: flex; align-items: flex-start; gap: 9px; margin-top: 8px; color: #d8eaff; font-size: 12px; line-height: 1.55; cursor: pointer; }
.consult-agree input { flex: 0 0 auto; width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--violet); }
.consult-privacy-detail { margin-top: -3px; color: #87a9c5; font-size: 10px; }
.consult-privacy-detail summary { width: fit-content; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.consult-privacy-detail p { max-height: 0; margin: 0; padding: 0 12px; overflow: hidden; border-left: 2px solid transparent; opacity: 0; background: rgba(255,255,255,.035); line-height: 1.7; transform: translateY(-5px); transition: max-height .3s ease,margin .3s ease,padding .3s ease,opacity .22s ease,transform .3s ease,border-color .3s ease; }
.consult-privacy-detail[open] p { max-height: 110px; margin-top: 8px; padding-top: 10px; padding-bottom: 10px; border-left-color: var(--cyan); opacity: 1; transform: none; }
.consult-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }
.consult-submit { min-height: 54px; margin-top: 8px; padding: 0 18px; border: 0; border-radius: 9px; display: flex; align-items: center; justify-content: space-between; color: #fff; background: var(--gradient-main); font-size: 14px; font-weight: 800; cursor: pointer; }
.consult-submit:disabled { opacity: .65; cursor: wait; }
.consult-submit.is-loading { justify-content: flex-start; gap: 9px; }
.consult-submit.is-loading::before::before { content: ""; width: 14px; height: 14px; flex: 0 0 14px; border: 2px solid rgba(255,255,255,.42); border-top-color: #fff; border-radius: 50%; animation: submitSpinner .7s linear infinite; }
.consult-submit.is-loading > :last-child > :last-child { margin-left: auto; }
@keyframes submitSpinner { to { transform: rotate(360deg); } }
.consult-submit-status { min-height: 18px; margin: 0; color: #bceeff; font-size: 11px; line-height: 1.6; text-align: center; }
.consult-submit-status.error { color: #ffd1dd; }

.featured-lawyer { min-height: 760px; position: relative; display: grid; grid-template-columns: minmax(0,.9fr) minmax(420px,1.1fr); overflow: hidden; color: #fff; background: linear-gradient(135deg,#071c3b 0%,#193574 58%,#421d75 100%); border-top: 1px solid rgba(33,211,254,.28); }
main > .featured-lawyer:first-child { margin-top: 86px; }
.featured-lawyer::before { content: "LAWYER"; position: absolute; right: clamp(24px,4vw,72px); top: clamp(28px,4vw,64px); left: auto; bottom: auto; color: rgba(33,211,254,.045); font: 800 clamp(84px,13vw,210px)/1 var(--sans); letter-spacing: -.07em; pointer-events: none; }
.featured-lawyer-copy { position: relative; z-index: 3; align-self: center; max-width: 690px; padding: 105px 30px 105px clamp(36px,8vw,155px); }
.featured-lawyer-copy > .eyebrow { color: var(--gold); }
.featured-lawyer-copy h2 { margin: 0; font: 700 clamp(40px,3.8vw,65px)/1.22 var(--serif); letter-spacing: -.055em; }
.featured-lawyer-copy > p:not(.eyebrow) { margin: 25px 0 26px; color: #b9d0e4; font-size: 14px; line-height: 1.9; }
.featured-lawyer-fields { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 32px; }
.featured-lawyer-fields span { padding: 9px 13px; border: 1px solid rgba(33,211,254,.24); color: #dcecff; background: rgba(82,151,255,.08); font-size: 11px; }
.featured-lawyer-copy .btn { width: 260px; border-color: rgba(255,255,255,.22); border-radius: 12px; overflow: hidden; }
.featured-lawyer-stage { position: relative; z-index: 2; min-height: 760px; display: flex; align-items: flex-end; justify-content: center; padding: 55px 7vw 0 3vw; }
.featured-lawyer-stage::before { content: ""; position: absolute; left: 48%; bottom: 10%; width: min(37vw,560px); aspect-ratio: 1; transform: translateX(-50%); border: 1px solid rgba(33,211,254,.26); border-radius: 50%; box-shadow: 0 0 90px rgba(82,151,255,.12); }
.featured-lawyer-stage > img { position: relative; z-index: 2; width: auto; height: 700px; max-width: 100%; object-fit: contain; object-position: center bottom; filter: drop-shadow(0 24px 34px rgba(0,0,0,.28)); }
.featured-lawyer-meta { position: absolute; z-index: 4; left: clamp(24px,3.5vw,65px); bottom: 62px; min-width: 215px; padding: 17px 0 16px; }
.featured-lawyer-meta small { display: block; margin-bottom: 4px; color: var(--cyan); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.featured-lawyer-meta strong { display: block; font: 700 25px/1.25 var(--serif); }
.featured-lawyer-meta strong b { font: inherit; }
.featured-lawyer-meta strong span { font: 500 12px/1 var(--sans); color: #b8d4ea; }
.featured-lawyer-copy > *,.featured-lawyer-stage > img,.featured-lawyer-meta { transition: opacity .32s ease,transform .42s ease; }
.featured-lawyer.is-changing .featured-lawyer-copy > * { opacity: 0; transform: translateY(12px); }
.featured-lawyer.is-changing .featured-lawyer-stage > img { opacity: 0; transform: translateX(18px); }
.featured-lawyer.is-changing .featured-lawyer-meta { opacity: 0; transform: translateY(10px); }
.featured-lawyer-pagination { position: absolute; right: clamp(24px,4vw,72px); bottom: 34px; z-index: 7; min-height: 18px; display: flex; align-items: center; justify-content: flex-end; gap: 6px; }
.featured-lawyer-page { position: relative; width: 6px; height: 6px; flex: 0 0 auto; padding: 0; overflow: hidden; border: 0; border-radius: 50%; background: rgba(202,225,248,.42); cursor: pointer; transition: width .3s ease,background .25s ease,border-radius .3s ease; }
.featured-lawyer-page:hover { background: rgba(255,255,255,.78); }
.featured-lawyer-page.active { width: 30px; height: 6px; border-radius: 99px; background: rgba(188,238,255,.24); }
.featured-lawyer-page.active::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(90deg,var(--cyan),var(--violet)); transform: scaleX(0); transform-origin: left center; animation: featuredLawyerProgress 4.6s linear forwards; }
@keyframes featuredLawyerProgress { to { transform: scaleX(1); } }
.hook-line { padding-left:0; }
.hook-line span { display:flex; align-items:center; gap:12px; margin-bottom:12px; color:#3478dc; font-size:11px; font-weight:700; letter-spacing:.16em; }
.hook-line span::before { content:""; flex:0 0 42px; width:42px; height:1px; background:currentColor; }
.hook-line strong { font: 700 clamp(24px,2vw,34px)/1.35 var(--serif); }
.hook-points { display: grid; grid-template-columns: repeat(3,1fr); }
.hook-points div { padding: 4px 28px; border-left: 1px solid rgba(56,86,145,.18); display: grid; gap: 7px; }
.hook-points b { color: #3176d9; font-size: 10px; letter-spacing: .12em; }
.hook-points span { color: #667b99; font-size: 11px; }
.hook-points strong { font-size: 15px; }

.section { padding: 140px clamp(24px,7vw,130px); }
.issues,.content { position:relative; isolation:isolate; overflow:hidden; background:radial-gradient(circle at 86% 8%,rgba(72,158,255,.14),transparent 30%),linear-gradient(135deg,#fff,#f3f7ff); }
.issues::before,.content::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(105deg,transparent 35%,rgba(111,88,255,.05)); }
.issues::after { content:"ISSUES"; }
.content::after { content:"KNOW"; }
.issues > *,.content > * { position:relative; z-index:1; }
.section-head { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; margin-bottom: 70px; }
.section-head h2, .lawyers-intro h2 { font: 700 clamp(38px,4vw,68px)/1.22 var(--serif); letter-spacing: -.055em; margin: 0; }
.section-head em, .lawyers-intro em { color: #456ee8; }
.section-head > p:last-child { color: var(--muted); line-height: 1.9; margin: 0 0 5px; }
.issues .section-head { row-gap:12px; margin-bottom:42px; }
.issues .section-head .eyebrow { grid-column:1; grid-row:1; margin-bottom:0; }
.issues .section-head h2 { grid-column: 1; grid-row: 2; }
.issues .section-head > p:last-child { grid-column: 1; grid-row: 3; justify-self:start; margin-top:0; }
.issue-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.issue-card { padding: 42px 30px 34px; min-height: 340px; position: relative; isolation: isolate; overflow: hidden; border-right: 1px solid #cbd7ef; cursor: pointer; perspective: 900px; transition: .35s; }
.issue-card::before { content: ""; position: absolute; z-index: -2; inset: 0; background: var(--issue-image) center / cover no-repeat; filter: grayscale(.45) saturate(.75); transform: scale(1.02); transition: transform .55s ease, filter .35s ease; }
.issue-card::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,rgba(244,247,255,.72),rgba(244,247,255,.95)); transition: background .35s ease; }
.issue-card:last-child { border-right: 0; }
.issue-card:hover { color: #fff; background: var(--navy-2); transform: translateY(-10px); box-shadow: 0 24px 50px rgba(38,78,157,.2); }
.issue-card.active { z-index: 2; color: #fff; background: var(--navy-2); transform: translateY(0); box-shadow: 0 16px 34px rgba(25,54,116,.24); }
.issue-card:hover::before, .issue-card.active::before { transform: scale(1.08); filter: grayscale(.1) saturate(.9); }
.issue-card:hover::after, .issue-card.active::after { background: linear-gradient(155deg,rgba(7,26,56,.68),rgba(52,24,95,.96)); }
.issue-no { position: absolute; top: 22px; right: 24px; font-family: var(--serif); color: #7b89a7; font-size: 12px; }
.issue-icon { width: 52px; height: 52px; display: grid; place-items: center; border: 1px solid #aebfe4; border-radius: 50%; font: 700 22px var(--serif); color: #456ee8; margin-bottom: 48px; }
.issue-card p { margin: 0 0 8px; color: #69738d; font-size: 13px; }
.issue-card h3 { font: 700 25px/1.35 var(--serif); margin: 0 0 17px; }
.issue-card small { display: block; color: #8e9299; font-size: 10px; }
.issue-card button { position: absolute; bottom: 28px; left: 30px; right: 30px; color: inherit; background: none; border: 0; border-top: 1px solid rgba(130,130,130,.35); padding: 14px 0 0; display: flex; justify-content: space-between; font-size: 11px; cursor: pointer; }
.issue-card-front { position: absolute; z-index: 2; inset: 0; padding: 42px 30px 34px; backface-visibility: hidden; transform-origin: 50% 50%; transform: rotateX(0deg) translateZ(1px); transition: transform .62s cubic-bezier(.65,0,.35,1),opacity .12s linear .27s; }
.issue-card-checkpoint { position: absolute; z-index: 3; inset: 0; padding: 38px 30px 30px; display: flex; flex-direction: column; justify-content: center; color: #fff; opacity: 0; pointer-events: none; backface-visibility: hidden; transform-origin: 50% 50%; transform: rotateX(120deg) translateZ(1px); transition: transform .62s cubic-bezier(.65,0,.35,1),opacity .12s linear .27s; }
.issue-card-checkpoint > span { color: #78ddff; font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.issue-card-checkpoint h3 { margin: 15px 0 13px; font: 700 21px/1.42 var(--serif); }
.issue-card-checkpoint p { margin: 0; color: #c5d8ea; font-size: 11px; line-height: 1.72; }
.issue-card-checkpoint small { margin-top: auto; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.25); color: #fff; font-size: 10px; }
.issue-card.active > .issue-card-front { opacity: 0; pointer-events: none; transform: rotateX(-120deg) translateZ(1px); }
.issue-card.active > .issue-card-checkpoint { opacity: 1; pointer-events: auto; transform: rotateX(0deg) translateZ(1px); }

.crossroads { min-height: 360px; padding: 64px clamp(24px,7vw,130px); display: flex; align-items: center; position: relative; color: #fff; overflow: hidden; }
.crossroads > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.crossroads-overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(5,25,55,.95) 0%,rgba(20,47,105,.72) 46%,rgba(86,45,146,.08) 80%); }
.crossroads-copy { position: relative; z-index: 2; width: min(100%,1210px); margin: 0 auto; }
.crossroads-copy .hook-line span { color: var(--cyan); }
.crossroads-copy .hook-line strong { display: block; font-size: clamp(25px,2.6vw,38px); color: #fff; word-break: keep-all; }
.crossroads-copy .hook-points { margin-top: 46px; }
.crossroads-copy .hook-points div { border-left-color: rgba(188,238,255,.28); }
.crossroads-copy .hook-points b { color: var(--cyan); }
.crossroads-copy .hook-points span { color: #bed5e9; }
.crossroads-copy .hook-points strong { color: #fff; }

.section-head.horizontal { display: flex; justify-content: space-between; align-items: end; gap: 30px; }
.content-filters { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }
.content-filters button { padding: 10px 16px; border: 1px solid #bdccec; background: #fff; color: #66728e; border-radius: 40px; font-size: 11px; cursor: pointer; transition: .2s; }
.content-filters button.active, .content-filters button:hover { color: #fff; background: linear-gradient(110deg,var(--blue),var(--violet)); border-color: transparent; }
.story-grid { display: grid; grid-template-columns: repeat(3,1fr); grid-auto-rows: 380px; gap: 14px; }
.story-card { position: relative; overflow: hidden; background: #18356f; color: #fff; transition: opacity .3s, transform .3s; }
.story-card.hidden { display: none; }
.imported-story-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.imported-story-card { min-height:320px; }
.imported-story-card .story-copy h3 { font-size:clamp(20px,2vw,28px); word-break:keep-all; }
.imported-card-more { margin:28px auto 0; border:1px solid #3478dc; color:#3478dc; background:transparent; cursor:pointer; }
.imported-card-more[hidden] { display:none; }
@media(max-width:720px) { .imported-story-grid { grid-template-columns:1fr; } }
.story-card img { height: 100%; object-fit: cover; transition: transform .7s ease; }
.story-card:hover img { transform: scale(1.055); }
.story-large { grid-row: span 2; }
.story-shade { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 24%,rgba(5,11,20,.92) 100%); }
.story-copy { position: absolute; left: 28px; right: 25px; bottom: 28px; z-index: 2; }
.story-copy > span { display: inline-block; color: var(--gold-soft); border-bottom: 1px solid var(--gold); padding-bottom: 6px; font-size: 10px; margin-bottom: 14px; }
.story-copy h3 { font: 700 clamp(22px,1.8vw,31px)/1.35 var(--serif); margin: 0 0 10px; }
.story-copy p { color: #b2bac5; font-size: 11px; line-height: 1.6; margin: 0 0 19px; }
.story-copy b { font-size: 10px; color: #d7dfe9; }
.story-text { background: var(--navy-2); }
.story-text.accent { background: linear-gradient(145deg,#3f7cec,#7f42ed); }
.big-mark { position: absolute; right: 25px; top: 5px; font: 400 140px var(--serif); color: rgba(255,255,255,.06); }
.legal-note { color: #7c86a0; font-size: 10px; margin: 20px 0 0; }


.legend-youtube { position: relative; color: #071a3c; background: radial-gradient(circle at 86% 8%,rgba(72,158,255,.14),transparent 30%),linear-gradient(135deg,#fff,#f3f7ff); border-top: 0; padding: 104px clamp(24px,6.5vw,124px) 118px; overflow: hidden; }
.legend-youtube::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(105deg,transparent 35%,rgba(111,88,255,.05)); }
.legend-youtube::after { content: "YOUTUBE"; }
.legend-youtube::after,.issues::after,.content::after,.office-gallery::after { position:absolute; z-index:0; right:-.04em; top:.2em; color:rgba(20,76,170,.045); font:900 clamp(110px,18vw,280px)/1 Arial,sans-serif; letter-spacing:-.08em; white-space:nowrap; pointer-events:none; }
.legend-youtube-inner { position: relative; z-index: 1; width: min(1420px,100%); min-width: 0; margin: 0 auto; }
.legend-heading { display: grid; grid-template-columns: minmax(0,1fr); gap: 20px; align-items: start; text-align: left; }
.legend-heading > p { display: flex; align-items: center; gap: 14px; margin: 0; color: #1da9ea; font: 700 11px var(--sans); letter-spacing: .16em; white-space: nowrap; }
.legend-heading > p::before { content: ""; width: 38px; height: 1px; background: currentColor; }
.legend-heading h2 { margin: 0; max-width: 900px; font: 700 clamp(38px,3.3vw,58px)/1.28 var(--serif); letter-spacing: -.055em; }
.legend-heading h2 em { display: inline-block; color: #2464e8; font-style: normal; font-weight: 700; text-shadow: none; }
.legend-media-layout { display: grid; grid-template-columns: minmax(0,1fr); gap: 22px; align-items: stretch; min-width: 0; margin-top: 52px; }
.legend-main { position: relative; width: 100%; min-width: 0; aspect-ratio: 16 / 9; min-height: 0; border: 1px solid #bcd5f4; border-radius: 18px; overflow: hidden; background: #050e21; box-shadow: 0 24px 60px rgba(27,67,130,.16); }
.legend-main iframe { width: 100%; height: 100%; border: 0; }
.legend-poster { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: #050b13; cursor: pointer; overflow: hidden; }
.legend-poster::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(5,11,19,.02),rgba(5,11,19,.22)); }
.legend-poster img { height: 100%; object-fit: cover; transition: transform .55s ease, filter .3s ease; }
.legend-poster:hover img { transform:none; filter:brightness(.9); }
.legend-poster span { position: absolute; z-index: 2; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 68px; height: 68px; display: grid; place-items: center; padding-left: 4px; border: 1px solid rgba(255,255,255,.72); border-radius: 50%; color: #fff; background: linear-gradient(145deg,var(--cyan),var(--violet)); box-shadow: 0 12px 35px rgba(24,61,143,.38); font-size: 20px; }
.legend-side { display:flex; flex-direction:column; min-width:0; padding:25px 24px 20px; border:1px solid rgba(79,151,224,.36); border-radius:18px; color:#071a38; background:transparent; box-shadow:none; }
.legend-profile { min-height:70px; display:grid; grid-template-columns:52px minmax(0,1fr) auto; align-items:center; gap:13px; padding-bottom:20px; border-bottom:1px solid rgba(7,26,56,.18); }
.legend-profile > img { width: 52px; height: 52px; border: 2px solid #bceeff; border-radius: 50%; object-fit: cover; object-position: 50% 15%; background: #dcefff; }
.legend-profile div { min-width: 0; display: flex; flex-direction: column; gap: 5px; }
.legend-profile b { font-size: 14px; }
.legend-profile small { color:#4f627c; font-size:10px; }
.legend-profile a { display:inline-flex; align-items:center; gap:7px; padding:11px 15px; border:1px solid rgba(7,26,56,.34); border-radius:10px; color:#071a38; background:rgba(255,255,255,.28); font-size:10px; font-weight:700; white-space:nowrap; transition:.2s; }
.legend-profile a:hover { color: #fff; background: linear-gradient(110deg,var(--blue),var(--violet)); border-color: transparent; }
.legend-profile a i { font-style: normal; font-size: 8px; }
.legend-side > h3 { margin: 25px 0 20px; min-height: 50px; font: 700 18px/1.55 var(--sans); letter-spacing: -.025em; }
.legend-playlist { display: flex; flex-direction: column; gap: 8px; }
.legend-playlist button { width:100%; display:grid; grid-template-columns:24px 100px minmax(0,1fr); align-items:center; gap:13px; min-height:68px; padding:8px 10px; border:0; border-left:2px solid transparent; border-radius:2px; color:#071a38; background:transparent; text-align:left; cursor:pointer; transition:.2s ease; }
.legend-playlist button:hover, .legend-playlist button.active { color:#071a38; border-left-color:#2464e8; background:rgba(82,151,255,.1); }
.legend-playlist .legend-list-no { color:#2464e8; font:700 13px var(--serif); text-align:center; }
.legend-playlist img { width: 100px; height: 54px; border-radius: 4px; object-fit: cover; background: #132f66; }
.legend-playlist .legend-list-title { min-width: 0; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 11px; font-weight: 600; line-height: 1.5; }

@media (min-width:1100px) {
  .legend-media-layout { grid-template-columns:minmax(0,1.65fr) minmax(340px,.65fr); align-items:stretch; }
  .legend-side { height:100%; }
}

.lawyers { position:relative; isolation:isolate; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr); gap:48px; align-items:start; color:#fff; background:linear-gradient(135deg,#071c3b 0%,#193574 58%,#421d75 100%); border-top:1px solid rgba(33,211,254,.28); }
.lawyers::before { content:"DIVORCE TEAM"; position:absolute; z-index:-1; right:clamp(18px,4vw,72px); top:clamp(30px,5vw,72px); color:rgba(33,211,254,.045); font:800 clamp(72px,12vw,190px)/.9 var(--sans); letter-spacing:-.07em; white-space:nowrap; pointer-events:none; }
.lawyers-intro,.lawyer-grid { position:relative; z-index:1; }
.lawyers-intro { width:min(900px,100%); }
.lawyers-intro .eyebrow.dark { color:#72ddff; }
.lawyers-intro .eyebrow.dark span { background:#21d3fe; }
.lawyers-intro h2 { color:#fff; }
.lawyers-intro h2 em { color:#74ddff; }
.lawyers-intro p:not(.eyebrow) { margin:28px 0; color:#b9d0e4; line-height:1.85; font-size:13px; }
.text-link { font-size: 12px; color: #456ee8; border-bottom: 1px solid #8ba9ee; padding-bottom: 5px; }
.lawyer-grid { width: 100%; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; align-items: end; }
.lawyer-card { position: relative; background: #dce8fa; overflow: hidden; min-height: 440px; border-radius: 14px; }
.lawyer-card:nth-child(even) { transform: translateY(30px); }
.lawyer-card img { height: 440px; object-fit: cover; object-position: 50% top; filter: saturate(.8); transition: .45s; }
.lawyer-card:hover img { transform: scale(1.035); filter: saturate(1); }
.lawyer-card::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent,rgba(7,14,24,.9)); }
.lawyer-card div { position: absolute; z-index: 2; left: 18px; bottom: 18px; color: #fff; }
.lawyer-card small { color: var(--gold-soft); font-size: 8px; letter-spacing: .15em; }
.lawyer-card h3 { font: 700 20px var(--serif); margin: 7px 0 0; }
.lawyer-card h3 span { font: 400 10px var(--sans); color: #c6ccd4; }

.office-gallery { position:relative; min-height:920px; padding:92px 24px 70px; overflow:hidden; display:grid; place-items:center; color:#fff; background:#07152d; }
.office-gallery::after { content:"OFFICE"; color:rgba(255,255,255,.065); }
.office-gallery-bg { position:absolute; inset:-35px; width:calc(100% + 70px); height:calc(100% + 70px); object-fit:cover; filter:blur(12px) brightness(.48) saturate(.72); transform:scale(1.04); }
.office-gallery-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,12,26,.3),rgba(5,12,24,.55)),radial-gradient(circle at 50% 42%,transparent 0,rgba(3,9,19,.22) 55%,rgba(3,9,19,.56) 100%); }
.office-gallery-inner { position:relative; z-index:1; width:min(100%,760px); text-align:center; }
.office-gallery-eyebrow { width:min(100%,660px); display:flex; align-items:center; gap:12px; margin:0 auto 16px; color:#87dcff; font-size:11px; font-weight:900; letter-spacing:.22em; text-align:left; }
.office-gallery-eyebrow span { flex:0 0 42px; width:42px; height:1px; background:currentColor; }
.office-gallery h2 { width:min(100%,660px); margin:0 auto 54px; font:700 clamp(34px,4.2vw,58px)/1.25 var(--serif); letter-spacing:-.045em; text-align:left; text-shadow:0 5px 24px rgba(0,0,0,.52); }
.office-gallery h2 em { color:#87dcff; }
.office-gallery-card { position:relative; width:min(100%,660px); aspect-ratio:4/3; margin:0 auto; overflow:hidden; border:1px solid rgba(255,255,255,.78); border-radius:22px; background:#111; box-shadow:0 28px 70px rgba(0,0,0,.48); }
.office-gallery-card img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; }
.office-gallery-controls { margin-top:18px; display:flex; align-items:center; justify-content:center; gap:24px; }
.office-gallery-controls button { width:42px; height:42px; padding:0; border:1px solid rgba(255,255,255,.28); border-radius:50%; background:rgba(8,28,58,.45); cursor:pointer; transition:.2s ease; }
.office-gallery-controls button::before { content:""; display:block; width:10px; height:10px; margin:auto; border:2px solid #fff; border-width:0 2px 2px 0; }
.office-gallery-controls button:first-child::before { transform:rotate(135deg); margin-left:17px; }
.office-gallery-controls button:last-child::before { transform:rotate(-45deg); margin-right:17px; }
.office-gallery-controls button:hover,.office-gallery-controls button:focus-visible { outline:0; border-color:#7bddff; background:rgba(36,115,196,.75); transform:translateY(-2px); }
.office-gallery-controls span { min-width:70px; color:rgba(255,255,255,.76); font-size:15px; font-weight:800; letter-spacing:.1em; }
.office-gallery-controls b { color:#fff; }
.office-gallery-controls em { color:inherit; font-style:normal; }

.final-cta { color: #fff; background: var(--gradient-main); padding: 80px clamp(24px,9vw,175px); position: relative; overflow: hidden; }
.final-cta::before { content: ""; position: absolute; width: 420px; height: 420px; right: -150px; top: -230px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.04); pointer-events: none; }
.final-copy > p { display:flex; align-items:center; justify-content:center; gap:12px; color:#fff; font-size:14px; }
.final-copy > p span { flex:0 0 42px; width:42px; height:1px; background:currentColor; }
.final-copy h2 { font: 700 clamp(40px,4vw,66px)/1.22 var(--serif); letter-spacing: -.05em; margin: 16px 0 0; }
.final-copy h2 em { color: #c8f3ff; font-style: normal; }
.final-copy-note { display: block; margin-top: 24px; color: #e1f6ff; font-size: 18px; line-height: 1.75; }
.final-action { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; width: min(100%,850px); margin: 0 auto; text-align: center; }
.final-action .final-copy { width: 100%; margin-bottom: 32px; padding-bottom: 42px; border-bottom: 1px solid rgba(255,255,255,.28); }
.final-contact { display: flex; flex-direction: column; align-items: center; width: 100%; min-width: 0; }
.final-contact > span { font-size: 14px; color: rgba(255,255,255,.78); }
.final-contact > a { font: 700 clamp(38px,4vw,60px) var(--serif); color: #fff; margin: 5px 0 32px; text-shadow: 0 6px 20px rgba(44,51,133,.25); }
.final-contact > a b { font: 400 22px var(--sans); }
.final-contact > small { width: 100%; padding-top: 20px; color: rgba(255,255,255,.7); font-size: 14px; margin-bottom: 12px; }
.final-chat-buttons { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; }
.final-chat-buttons a { font-size: 11px; padding: 10px 15px; border: 1px solid rgba(255,255,255,.24); }
.final-chat-buttons .final-chat-button { border-color:transparent; border-radius:7px; font-weight:800; box-shadow:0 7px 16px rgba(25,42,96,.18); transition:transform .2s ease,filter .2s ease,box-shadow .2s ease; }
.final-chat-buttons .final-chat-button.naver { color:#fff; background:#03c75a; }
.final-chat-buttons .final-chat-button.kakao { color:#191919; background:#fee500; }
.final-chat-buttons .final-chat-button:hover { transform:translateY(-2px); filter:brightness(.98); box-shadow:0 10px 22px rgba(25,42,96,.24); }
.final-chat-buttons .final-chat-button:focus-visible { outline:3px solid rgba(255,255,255,.62); outline-offset:3px; }

@media (min-width: 901px) {
  .final-action { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); align-items: center; gap: clamp(40px,5vw,80px); width: min(100%,1210px); }
  .final-action .final-copy { margin: 0; padding: 0; border: 0; text-align: left; }
  .final-copy > p { justify-content: flex-start; }
  .final-copy h2 { font-size: clamp(34px,3.5vw,60px); }
  .final-contact { padding-left: clamp(24px,3vw,48px); border-left: 1px solid rgba(255,255,255,.28); }
  .final-contact > a { font-size: clamp(34px,3.8vw,56px); white-space: nowrap; }
}

footer { color: #8ea7c7; background: #06162f; padding: 70px clamp(24px,7vw,130px) 35px; }
.footer-brand { display: flex; align-items: center; gap: 14px; color: #fff; margin-bottom: 45px; }
.footer-brand img { width: 48px; height: 48px; }
.footer-brand div { display: flex; flex-direction: column; }
.footer-brand b { font-size: 18px; }
.footer-brand span { color: #8fb6d5; font-size: 10px; margin-top: 4px; }
.locations { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); padding: 30px 0; }
.locations div { display: flex; flex-direction: column; gap: 8px; padding: 0 24px; border-right: 1px solid rgba(255,255,255,.08); }
.locations div:first-child { padding-left: 0; }
.locations div:last-child { border: 0; }
.locations b { color: #dcecff; font-size: 12px; }
.locations span { font-size: 9px; line-height: 1.6; }
.footer-meta { display: flex; justify-content: space-between; gap: 30px; padding-top: 26px; font-size: 9px; }

.quick-menu { position: fixed; right: 22px; bottom: 28px; z-index: 30; display: flex; flex-direction: column; overflow: visible; border: 1px solid rgba(188,238,255,.18); border-radius: 13px; background: rgba(12,40,84,.95); box-shadow: 0 15px 35px rgba(0,0,0,.22); }
.quick-menu > a,.quick-menu > button { width: 65px; height: 65px; padding: 0; border: 0; color: #fff; background: rgba(12,40,84,.95); display: grid; grid-template-rows: 27px 14px; align-content: center; justify-items: center; gap: 4px; border-bottom: 1px solid rgba(255,255,255,.12); font-family: var(--sans); cursor: pointer; }
.quick-menu > :first-child { border-radius: 12px 12px 0 0; background: linear-gradient(145deg,var(--cyan),var(--violet)); }
.quick-menu > a:last-of-type { border-bottom: 0; border-radius: 0 0 12px 12px; }
.quick-menu b { width: 27px; height: 27px; display: grid; place-items: center; font-size: 11px; line-height: 1; letter-spacing: .05em; }
.quick-menu span { width: 100%; height: 14px; margin: 0; display: flex; align-items: center; justify-content: center; color: #cbd1da; font-size: 10px; font-weight: 700; line-height: 14px; letter-spacing: 0; white-space: nowrap; }
.quick-menu i { width: 27px; height: 27px; display: grid; place-items: center; font-size: 20px; line-height: 1; }
.quick-menu .quick-reserve i { font-size: 25px; }
.quick-menu .quick-reserve span { color: #fff; }
.quick-booking-menu[hidden] { display: none; }
.quick-booking-menu { position: absolute; right: calc(100% + 7px); top: 0; width: 218px; padding: 9px; border: 1px solid rgba(188,238,255,.28); border-radius: 13px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; background: linear-gradient(145deg,rgba(7,26,56,.98),rgba(29,57,122,.98) 66%,rgba(69,34,122,.98)); box-shadow: 0 18px 44px rgba(0,0,0,.38); animation: quickBookingMenuIn .18s ease-out; }
.quick-booking-menu::after { content: ""; position: absolute; right: -7px; top: 25px; width: 13px; height: 13px; border-top: 1px solid rgba(188,238,255,.28); border-right: 1px solid rgba(188,238,255,.28); background: #263778; transform: rotate(45deg); }
.quick-booking-menu a { position: relative; z-index: 1; min-height: 46px; border: 1px solid rgba(188,238,255,.18); border-radius: 9px; display: grid; place-items: center; color: #fff; background: rgba(255,255,255,.06); font-size: 12px; font-weight: 800; }
.quick-booking-menu a:hover,.quick-booking-menu a:focus-visible { background: var(--gradient-main); outline: 0; }
.quick-chat-menu[hidden] { display: none; }
.quick-chat-menu { position: absolute; right: calc(100% + 7px); top: 65px; width: 150px; padding: 9px; border: 1px solid rgba(188,238,255,.28); border-radius: 13px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; background: linear-gradient(145deg,rgba(7,26,56,.98),rgba(29,57,122,.98) 66%,rgba(69,34,122,.98)); box-shadow: 0 18px 44px rgba(0,0,0,.38); animation: quickBookingMenuIn .18s ease-out; }
.quick-chat-menu::after { content: ""; position: absolute; right: -7px; top: 25px; width: 13px; height: 13px; border-top: 1px solid rgba(188,238,255,.28); border-right: 1px solid rgba(188,238,255,.28); background: #263778; transform: rotate(45deg); }
.quick-chat-menu a { position: relative; z-index: 1; min-height: 46px; border: 1px solid rgba(188,238,255,.18); border-radius: 9px; display: grid; place-items: center; color: #fff; background: rgba(255,255,255,.06); font-size: 12px; font-weight: 800; }
.quick-chat-menu a:hover,.quick-chat-menu a:focus-visible { background: var(--gradient-main); outline: 0; }
.mobile-bar { display: none; }

/* Directions page */
.directions-body { background: #07142f; }
.directions-page { min-height: 100vh; color: #fff; background: radial-gradient(circle at 8% 6%,rgba(108,46,201,.35),transparent 34%),radial-gradient(circle at 92% 5%,rgba(33,211,254,.18),transparent 34%),linear-gradient(135deg,#09142e 0%,#111a3c 58%,#07162f 100%); }
.directions-shell { width: min(1180px,100%); margin: 0 auto; }
.directions-hero { padding: 42px clamp(24px,6.5vw,124px) 26px; color: #fff; }
.directions-hero::before { display: none; }
.directions-hero .eyebrow { margin: 0 0 8px; color: var(--cyan); font-size: 12px; font-weight: 800; letter-spacing: .03em; }
.directions-hero h1 { margin: 0; font: 700 clamp(45px,4.2vw,62px)/1.12 var(--serif); letter-spacing: -.055em; }
.directions-hero > .directions-shell > p:last-child { margin: 14px 0 0; color: #c5d7eb; font-size: 14px; line-height: 1.75; }
.directions-content { padding: 0 clamp(24px,6.5vw,124px) 88px; }
.directions-layout { display: grid; grid-template-columns: minmax(220px,255px) minmax(0,1fr); gap: 13px; align-items: stretch; margin-top: 0; padding: 13px; border: 1px solid rgba(188,238,255,.3); border-radius: 17px; background: rgba(7,20,43,.88); box-shadow: inset 0 1px rgba(255,255,255,.06),0 24px 60px rgba(0,0,0,.28); }
.directions-branch-list { display: grid; align-content: start; gap: 8px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.directions-branch { width: 100%; min-height: 54px; padding: 0 15px; border: 1px solid rgba(188,238,255,.2); border-radius: 10px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 0; color: #f1f7ff; background: rgba(255,255,255,.055); text-align: left; cursor: pointer; transition: transform .2s ease,border-color .2s ease,background .2s ease; }
.directions-branch:hover,.directions-branch:focus-visible { border-color: rgba(33,211,254,.65); outline: 0; transform: translateX(3px); }
.directions-branch.active { border-color: rgba(188,238,255,.66); background: var(--gradient-main); box-shadow: 0 10px 25px rgba(56,119,233,.24); }
.directions-branch span { font-size: 13px; font-weight: 800; }
.directions-branch small { display: none; }
.directions-branch.active small { color: rgba(255,255,255,.82); }
.directions-map-card { min-width: 0; overflow: hidden; border: 1px solid rgba(188,238,255,.24); border-radius: 13px; background: rgba(255,255,255,.045); box-shadow: none; }
.directions-map-frame { position: relative; z-index: 0; isolation: isolate; min-height: 450px; overflow: hidden; background: #dce8fa; }
.directions-map-frame #directions-map { display: block; width: 100%; height: 450px; }
.directions-map-frame #directions-map iframe { display:block; width:100%; height:100%; border:0; }
.directions-map-info { min-height: 96px; padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid rgba(188,238,255,.18); background: rgba(5,17,37,.78); }
.directions-map-info small { color: var(--cyan); font-size: 10px; font-weight: 800; }
.directions-map-info h2 { margin: 4px 0 5px; font: 700 20px/1.3 var(--serif); color: #fff; }
.directions-map-info p { margin: 0; color: #c1d2e5; font-size: 12px; line-height: 1.55; }
.directions-map-actions { flex: 0 0 82px; width: 82px; margin-left: auto; display: flex; flex-wrap: nowrap; justify-content: flex-end; gap: 7px; }
.directions-map-actions a { width: 82px; min-width: 82px; padding: 11px 13px; border: 1px solid rgba(188,238,255,.28); border-radius: 9px; display: flex; align-items: center; justify-content: center; color: #dcecff; background: rgba(255,255,255,.055); font-size: 11px; font-weight: 800; white-space: nowrap; }
.directions-map-actions a span { display: none; }
.directions-map-actions a:first-child { border-color: transparent; color: #fff; background: var(--gradient-main); }
.directions-map-actions a:hover,.directions-map-actions a:focus-visible { filter: brightness(1.06); outline: 0; transform: translateY(-1px); }
.directions-body .site-header nav a[aria-current="page"] { color: var(--cyan); }
.directions-body .mobile-bar a[aria-current="page"] { color: var(--cyan); }

/* Lawyers page */
.lawyers-body { background: #07142f; }
.lawyers-page { min-height: 100vh; padding: 116px 0 70px; color: #fff; background: radial-gradient(circle at 7% 8%,rgba(108,46,201,.42),transparent 32%),radial-gradient(circle at 94% 5%,rgba(33,211,254,.2),transparent 36%),linear-gradient(135deg,#09142e 0%,#111a3c 58%,#07162f 100%); }
.lawyers-shell { width: min(1220px,calc(100% - 48px)); margin: 0 auto; }
.lawyers-back { width: fit-content; min-height: 34px; padding: 0 14px; border: 1px solid rgba(188,238,255,.28); border-radius: 999px; display: inline-flex; align-items: center; gap: 7px; color: #dcecff; background: rgba(5,20,43,.62); font-size: 12px; font-weight: 700; }
.lawyer-profile-panel { margin-top: 14px; border: 1px solid rgba(188,238,255,.28); border-radius: 16px; display: grid; grid-template-columns: minmax(360px,44%) minmax(0,56%); overflow: hidden; background: rgba(6,18,42,.82); box-shadow: 0 26px 70px rgba(0,0,0,.28); }
.lawyer-profile-visual { position: relative; min-height: 690px; overflow: hidden; isolation: isolate; background: linear-gradient(145deg,#21d3fe 0%,#5297ff 44%,#9144fa 100%); }
.lawyer-profile-visual::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 22% 18%,rgba(255,255,255,.24),transparent 24%),linear-gradient(155deg,rgba(8,24,55,.06),rgba(12,21,57,.48)); }
.lawyer-profile-visual::after { content: ""; position: absolute; inset: 18px; z-index: -1; border: 1px solid rgba(255,255,255,.16); border-radius: 50% 50% 4px 4px; transform: scale(1.18); }
.lawyer-profile-halo { position: absolute; left: 50%; top: 12%; width: 76%; aspect-ratio: 1; border: 1px solid rgba(188,238,255,.28); border-radius: 50%; transform: translateX(-50%); }
.lawyer-profile-visual > img { position: absolute; left: 50%; bottom: 0; width: auto; height: 92%; max-width: 96%; object-fit: contain; object-position: center bottom; transform: translateX(-50%); filter: drop-shadow(0 24px 28px rgba(2,9,24,.32)); }
.lawyer-profile-name { position: absolute; left: 26px; right: 24px; bottom: 22px; z-index: 2; text-shadow: 0 2px 16px rgba(0,0,0,.45); }
.lawyer-profile-name small { display: block; margin-bottom: 4px; color: #d8f6ff; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.lawyer-profile-name h1 { margin: 0; font: 700 46px/1.1 var(--sans); letter-spacing: -.05em; }
.lawyer-profile-name h1 em { margin-left: 8px; font-size: 22px; font-style: normal; letter-spacing: -.03em; }
.lawyer-profile-content { padding: 42px 46px; }
.lawyer-profile-kicker { margin: 0 0 18px; color: var(--cyan); font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.lawyer-profile-content blockquote { margin: 0; font: 700 26px/1.45 var(--serif); color: #fff; word-break: keep-all; }
.lawyer-profile-summary { margin: 16px 0 0; color: #bfd0e5; font-size: 14px; line-height: 1.8; word-break: keep-all; }
.lawyer-profile-section { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(188,238,255,.2); }
.lawyer-profile-section h2 { margin: 0 0 12px; font-size: 17px; }
.lawyer-profile-section ul { margin: 0; padding: 0; display: grid; gap: 8px; list-style: none; }
.lawyer-profile-section li { position: relative; padding-left: 14px; color: #d8e4f2; font-size: 13px; line-height: 1.55; }
.lawyer-profile-section li::before { content: ""; position: absolute; left: 0; top: .67em; width: 4px; height: 4px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 8px rgba(33,211,254,.7); }
.lawyer-practice-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px !important; }
.lawyer-practice-list li { min-height: 44px; padding: 11px 12px; border: 1px solid rgba(188,238,255,.26); border-radius: 9px; display: flex; align-items: center; background: rgba(37,83,147,.16); }
.lawyer-practice-list li::before { display: none; }
.lawyer-selector { margin-top: 18px; padding: 20px; border: 1px solid rgba(188,238,255,.24); border-radius: 16px; background: rgba(6,18,42,.82); }
.lawyer-selector-heading p { margin: 0 0 4px; color: var(--cyan); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.lawyer-selector-heading h2 { margin: 0 0 15px; font-size: 18px; }
.lawyer-selector-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.lawyer-selector-card { min-width: 0; padding: 6px 6px 12px; border: 1px solid rgba(188,238,255,.2); border-radius: 12px; color: #fff; background: rgba(19,45,88,.72); text-align: left; cursor: pointer; transition: border-color .2s,transform .2s,background .2s; }
.lawyer-selector-card:hover,.lawyer-selector-card:focus-visible { border-color: rgba(188,238,255,.65); outline: 0; transform: translateY(-2px); }
.lawyer-selector-card.active { border-color: var(--cyan); background: rgba(35,86,155,.72); box-shadow: 0 0 0 2px rgba(33,211,254,.12); }
.lawyer-selector-photo { position: relative; height: 170px; margin-bottom: 11px; border-radius: 9px; display: block; overflow: hidden; background: linear-gradient(135deg,#5128a7 0%,#496de0 52%,#19c7ec 100%); }
.lawyer-selector-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 58%,rgba(5,16,39,.28)); }
.lawyer-selector-photo img { position: absolute; left: 50%; bottom: 0; width: auto; height: 96%; object-fit: contain; transform: translateX(-50%); }
.lawyer-selector-card strong,.lawyer-selector-card small { display: block; padding: 0 6px; }
.lawyer-selector-card strong { font-size: 13px; }
.lawyer-selector-card small { margin-top: 5px; color: #aac2dc; font-size: 10px; }
.lawyers-body .site-header nav a[aria-current="page"] { color: var(--cyan); }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity: 1; transform: none; }
.delay-1 { transition-delay: .1s; }
.delay-2 { transition-delay: .2s; }
.delay-3 { transition-delay: .3s; }

@media (max-width: 1100px) {
  html { scroll-padding-top: 78px; }
  .site-header { height: 78px; }
  main > .featured-lawyer:first-child { margin-top: 78px; }
  .site-header nav { position: fixed; z-index: 82; top: 8px; right: 0; bottom: auto; width: min(290px,78vw); height: calc(100vh - 16px); height: calc(100dvh - 16px); padding: 136px 24px 28px; border-radius: 36px 0 0 36px; display: flex; align-items: stretch; gap: 8px; flex-direction: column; margin: 0; overflow-y: auto; visibility: hidden; color: #fff; background: linear-gradient(155deg,rgba(10,42,86,.99),rgba(18,35,78,.99) 60%,rgba(61,30,106,.99)); border-left: 1px solid rgba(188,238,255,.25); box-shadow: -20px 0 54px rgba(0,0,0,.3); transform: translateX(105%); transition: transform .46s cubic-bezier(.22,1,.36,1),visibility .46s; }
  .site-header nav::before { content: "부산형사전문변호사"; position: absolute; top: 22px; left: 24px; min-height: 44px; padding: 4px 0 0 50px; display: flex; align-items: flex-start; color: #fff; background: url("assets/yulmaru-logo.webp") left center / 42px 42px no-repeat; font: 800 14px/1.35 var(--sans); letter-spacing: -.025em; }
  .site-header nav::after { content: "법무법인 율마루"; position: absolute; top: 45px; left: 74px; color: #86a6c2; font: 600 10px/1.3 var(--sans); letter-spacing: .03em; }
  .site-header nav a { position: relative; padding: 14px 0; border-bottom: 0; display: flex; align-items: center; font: 700 17px/1.35 var(--sans); opacity: 0; transform: translateX(22px); transition: color .25s,opacity .3s ease,transform .4s ease; }
  .site-header nav a::after { content: none; }
  .site-header nav a:first-child::before { content: "MENU"; position: absolute; left: 0; bottom: calc(100% + 14px); color: var(--cyan); font: 800 10px/1 var(--sans); letter-spacing: .25em; }
  .site-header nav a:first-child::after { content: ""; position: absolute; left: 0; right: 0; bottom: calc(100% + 46px); height: 1px; background: rgba(255,255,255,.22); }
  .site-header nav.open { visibility: visible; transform: translateX(0); }
  .site-header nav.open a { opacity: 1; transform: translateX(0); }
  .site-header nav.open a:nth-child(2) { transition-delay: .07s; }
  .site-header nav.open a:nth-child(3) { transition-delay: .14s; }
  body.menu-open::before { content: ""; position: fixed; z-index: 79; inset: 0; background: rgba(2,10,28,.62); backdrop-filter: blur(3px); }
  .directions-body .site-header.menu-open .header-field-menu .header-nav:not([hidden]) { position: fixed; z-index: 82; inset: 8px 0 8px auto; box-sizing: border-box; width: min(290px,78vw); height: calc(100dvh - 16px); margin: 0; padding: 136px 24px 28px; display: flex; visibility: visible; flex-direction: column; align-items: stretch; gap: 8px; overflow-x: hidden; overflow-y: auto; border: 1px solid rgba(188,238,255,.25); border-right: 0; border-radius: 36px 0 0 36px; color: #fff; background: linear-gradient(155deg,rgba(10,42,86,.99),rgba(18,35,78,.99) 60%,rgba(61,30,106,.99)); box-shadow: -20px 0 54px rgba(0,0,0,.3); transform: none; }
  .directions-body .site-header.menu-open .header-field-menu .header-nav:not([hidden]) a { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 14px 0; text-align: left; white-space: normal; opacity: 1; transform: translateX(0); }
  .directions-body .site-header.menu-open .header-field-menu .header-nav .header-nav-icon { display: grid; place-items: center; flex: 0 0 22px; width: 22px; color: #fff; font-size: 17px; line-height: 1; }
  .directions-body .site-header.menu-open .header-field-menu .header-nav a:last-child { margin-top: 5px; padding-top: 19px; border-top: 1px solid rgba(188,238,255,.28); border-bottom: 0; }
  .directions-body .site-header.menu-open .header-field-menu .header-nav a.active { color: var(--cyan); border-bottom-color: transparent; }
  .site-header .header-menu-toggle[aria-expanded="true"] { position: fixed; z-index: 83; top: 28px; right: 20px; width: 38px; height: 38px; border: 1px solid rgba(188,238,255,.44); border-radius: 9px; background: rgba(255,255,255,.06); }
  .header-call { margin-left: auto; margin-right: 12px; }
  .menu-toggle { display: block; }
  .hero { grid-template-columns: 1fr; min-height: 960px; }
  .hero-copy { max-width: 860px; padding-left: 5vw; padding-right: 5vw; }
  .hero-kicker { font-size: clamp(36px,4.5vw,50px); }
  .featured-lawyer { min-height: 0; grid-template-columns: 1fr; }
  .featured-lawyer-copy { max-width: 760px; padding: 90px 7vw 25px; }
  .featured-lawyer-stage { min-height: 620px; padding: 25px 5vw 0; }
  .featured-lawyer-stage::before { width: min(66vw,540px); }
  .featured-lawyer-stage > img { height: 600px; }
  .featured-lawyer-meta { left: 7vw; }
  .issue-grid { grid-template-columns: repeat(2,1fr); }
  .issue-card:nth-child(2) { border-right: 0; }
  .issue-card:nth-child(-n+2) { border-bottom: 1px solid #cbd7ef; }
  .story-grid { grid-template-columns: repeat(2,1fr); }
  .legend-heading { grid-template-columns: 1fr; gap: 20px; }
  .legend-heading > p { margin: 0; }
  .legend-heading h2 { max-width: 760px; font-size: clamp(34px,5.2vw,48px); }
  .legend-media-layout { grid-template-columns: minmax(0,1fr); gap: 22px; margin-top: 40px; }
  .legend-side { width: 100%; min-width: 0; }
  .lawyers { grid-template-columns: 1fr; }
  .lawyers-intro { max-width: 600px; }
  .locations { grid-template-columns: repeat(2,1fr); gap: 25px; }
  .locations div { border: 0; padding: 0; }
}

@media (max-width: 720px) {
  html { scroll-padding-top: 70px; }
  .site-header { height: 70px; padding: 0 18px; position: fixed; }
  .menu-toggle[aria-expanded="true"] { top: 28px; }
  main > .featured-lawyer:first-child { margin-top: 70px; }
  .brand img { width: 38px; height: 38px; }
  .brand b { font-size: 14px; }
  .brand small { font-size: 7px; }
  .header-call { display: none; }
  .site-header nav { padding-top: 128px; }
  .site-header nav::before { top: 16px; }
  .site-header nav::after { top: 39px; }
  .hero { display: grid; align-items: center; height: auto; max-height: none; min-height: 960px; }
  .hero::before { display: none; }
  .hero::after { right: 18px; top: 94px; font-size: 48px; }
  .hero-copy { position: relative; width: 100%; max-width: none; padding: 104px 20px 62px; }
  .hero-copy > .eyebrow { margin-bottom: 34px; }
  .hero-kicker { font-size: clamp(34px,9.4vw,44px); }
  .hero-desc { font-size: 14px; margin: 18px 0 17px; }
  .hero-topics { gap: 5px; }
  .hero-topics span { padding: 7px 9px; font-size: 9px; }
  .btn { width: 100%; min-width: 0; }
  .privacy-note { margin: 0 0 16px; font-size: 13px; }
  .hero-consult-card { margin-top: 36px; padding: 16px 20px 28px; border-radius: 13px; }
  .consult-lawyer-heading { align-items: baseline; flex-direction: row; gap: 8px; }
  .consult-lawyer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-flow: row; gap: 6px; overflow: visible; padding: 0; }
  .consult-lawyer-card { min-height: 52px; grid-template-columns: 40px minmax(0,1fr); text-align: left; }
  .consult-lawyer-card img { display: block; width: 40px; height: 40px; }
  .consult-lawyer-card span { padding: 6px 7px 6px 9px; text-align: left; }
  .consult-lawyer-card b { font-size: 9px; text-overflow: ellipsis; }
  .consult-lawyer-card small { display: block; }
  .hero-consult-head { align-items: center; flex-direction: column; gap: 7px; margin-bottom: 17px; }
  .hero-consult-head h2 { font-size: 22px; text-align: center; }
  .hero-inquiry-wrap textarea { min-height: 245px; padding: 18px 18px 32px; font-size: 14px; }
  .hero-consult-next { min-height: 58px; margin-top: 16px; }
  .scroll-cue { display: none; }
  .featured-lawyer-copy { padding: 72px 24px 25px; }
.featured-lawyer-copy h2 { font-size: 40px; }
  .featured-lawyer-copy > p:not(.eyebrow) { font-size: 12px; }
  .featured-lawyer-copy .btn { width: 50%; min-width: 200px; max-width: 220px; padding: 16px 15px; font-size: 12px; white-space: nowrap; }
  .featured-lawyer-stage { min-height: 480px; height: 480px; padding: 0 8px 0 0; justify-content: flex-end; }
  .featured-lawyer-stage::before { left: 60%; width: 88%; bottom: 6%; }
  .featured-lawyer-stage > img { width: auto; height: 100%; max-width: 100%; }
  .featured-lawyer-meta { left: 24px; bottom: 48px; min-width: 175px; padding: 13px 0 12px; }
  .featured-lawyer-meta strong { font-size: 20px; }
  .featured-lawyer-pagination { right: 24px; bottom: 22px; gap: 5px; }
  .featured-lawyer-page.active { width: 28px; }
  .hook-line strong { font-size: 25px; }
  .hook-points { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
  .hook-points div { min-width: 0; padding: 0 10px; border-left: 1px solid rgba(56,86,145,.18); border-bottom: 0; align-content: start; }
  .hook-points div:first-child { padding-left: 0; border-left: 0; }
  .hook-points div:last-child { padding-right: 0; }
  .hook-points span { font-size: 9px; line-height: 1.45; word-break: keep-all; }
  .hook-points strong { font-size: 13px; line-height: 1.35; word-break: keep-all; }
  .section { padding: 90px 20px; }
  .section-head { grid-template-columns: 1fr; gap: 25px; margin-bottom: 45px; }
  .issues .section-head { gap:12px; margin-bottom:32px; }
  .issues .section-head .eyebrow,.issues .section-head h2,.issues .section-head > p:last-child { grid-column: 1; grid-row: auto; }
  .section-head h2, .lawyers-intro h2 { font-size: 40px; }
  .section-head > p:last-child { font-size: 12px; }
  .issue-grid { grid-template-columns: 1fr; }
  .issue-card { min-height: 330px; padding-bottom: 82px; border-right: 0; border-bottom: 1px solid #cbd7ef; }
  .issue-card button { bottom: 24px; }
  .issue-card:last-child { border-bottom: 0; }
  .issue-card:nth-child(-n+2) { border-bottom: 1px solid #cbd7ef; }
  .crossroads { min-height: 300px; padding: 40px 20px; }
  .crossroads > img { object-position: 66% center; }
  .crossroads-overlay { background: linear-gradient(90deg,rgba(5,25,55,.95),rgba(56,33,108,.55)); }
  .crossroads-copy .hook-points { margin-top: 32px; }
  .section-head.horizontal { align-items: flex-start; flex-direction: column; }
  .content-filters { justify-content: flex-start; }
  .story-grid { grid-template-columns: 1fr; grid-auto-rows: 360px; }
  .story-large { grid-row: auto; }
  .legend-youtube { padding: 74px 20px 80px; }
  .legend-heading { grid-template-columns: 1fr; gap: 20px; }
  .legend-heading > p { margin: 0; }
  .legend-heading h2 { font-size: clamp(29px,8vw,36px); }
  .legend-heading h2 em { margin-top: 5px; }
  .legend-media-layout { grid-template-columns: minmax(0,1fr); gap: 20px; margin-top: 34px; }
  .legend-main { border-radius: 16px; }
  .legend-poster span { width: 56px; height: 56px; border-radius: 50%; font-size: 17px; }
  .legend-side { padding: 20px 16px 16px; }
  .legend-profile { grid-template-columns: 46px minmax(0,1fr) auto; }
  .legend-profile > img { width: 46px; height: 46px; }
  .legend-profile a { padding: 10px 12px; font-size: 9px; }
  .legend-side > h3 { min-height: 0; margin: 22px 0 16px; font-size: 16px; }
  .legend-playlist button { grid-template-columns: 20px 88px minmax(0,1fr); gap: 10px; padding: 7px 8px; }
  .legend-playlist img { width: 88px; height: 49px; }
  .lawyer-grid { grid-template-columns: 1fr; gap: 12px; }
  .lawyer-card:nth-child(n) { grid-column: 1 / -1; min-height: 0; height: auto; aspect-ratio: 16 / 9; }
  .lawyer-card:nth-child(n) img { width: 100%; min-height: 0; height: 100%; }
  .lawyer-card:nth-child(1) img { object-position: 50% 48%; }
  .lawyer-card:nth-child(2) img { object-position: 56% 55%; }
  .lawyer-card:nth-child(3) img { object-position: 50% 56%; }
  .lawyer-card:nth-child(4) img { object-position: 56% 20%; }
  .lawyer-card:nth-child(even) { transform: none; }
  .lawyer-card h3 { font-size: 17px; }
  .office-gallery { min-height:680px; padding:72px 16px 54px; }
  .office-gallery h2 { margin-bottom:34px; font-size:clamp(30px,8vw,42px); }
  .office-gallery-card { border-radius:16px; }
  .office-gallery-controls { margin-top:22px; gap:18px; }
  .final-cta { padding: 64px 24px; }
  .final-copy h2 { font-size: clamp(32px,9vw,43px); }
  .final-action { padding: 0; }
  .locations { grid-template-columns: 1fr; }
  .footer-meta { flex-direction: column; }
  .quick-menu { display: none; }
  .mobile-bar { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); position: fixed; bottom: 0; left: 0; right: 0; z-index: 40; min-height: 72px; padding: 6px 4px max(6px,env(safe-area-inset-bottom)); border: 1px solid rgba(188,238,255,.2); border-bottom: 0; border-radius: 16px 16px 0 0; background: rgba(5,20,43,.96); box-shadow: 0 -8px 32px rgba(0,0,0,.28); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
  .mobile-bar > a,.mobile-bar > button { min-width: 0; padding: 0; border: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: #a9bfd8; background: transparent; text-align: center; font: 700 9px/1.2 var(--sans); cursor: pointer; }
  .mobile-bar > a > i,.mobile-bar > button > i { min-height: 22px; display: grid; place-items: center; color: #e7f3ff; font-size: 18px; }
  .mobile-bar > a > span,.mobile-bar > button > span { white-space: nowrap; }
  .mobile-bar > a,.mobile-bar > .mobile-chat { gap: 4px; }
  .mobile-bar > a > i,.mobile-bar > .mobile-chat > i { width: 24px; height: 24px; min-height: 24px; font-size: 18px; line-height: 1; }
  .mobile-bar > a > span,.mobile-bar > .mobile-chat > span { width: 100%; height: 12px; min-height: 12px; display: flex; align-items: center; justify-content: center; line-height: 12px; }
  .mobile-bar .mobile-reserve { color: #fff; }
  .mobile-bar .mobile-reserve > i { width: 46px; height: 46px; margin-top: -22px; border: 2px solid rgba(220,247,255,.8); border-radius: 50%; background: var(--gradient-main); box-shadow: 0 0 0 4px rgba(82,151,255,.14),0 8px 22px rgba(42,96,220,.45); font-size: 19px; transition: transform .18s ease; animation: mobileReservePulse 2.4s ease-in-out infinite; }
  .mobile-bar .mobile-reserve:active > i { transform: scale(.9); }
  .mobile-booking-menu[hidden] { display: none; }
  .mobile-booking-menu { position: absolute; left: 50%; bottom: calc(100% + 13px); width: min(340px,calc(100vw - 24px)); padding: 10px; border: 1px solid rgba(188,238,255,.28); border-radius: 14px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; color: #fff; background: linear-gradient(145deg,rgba(7,26,56,.98),rgba(29,57,122,.98) 66%,rgba(69,34,122,.98)); box-shadow: 0 18px 44px rgba(0,0,0,.38); transform: translateX(-50%); animation: mobileBookingMenuIn .2s ease-out; }
  .mobile-booking-menu::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 13px; height: 13px; border-right: 1px solid rgba(188,238,255,.28); border-bottom: 1px solid rgba(188,238,255,.28); background: #263778; transform: translateX(-50%) rotate(45deg); }
  .mobile-booking-menu a { position: relative; z-index: 1; min-height: 46px; border: 1px solid rgba(188,238,255,.18); border-radius: 9px; display: grid; place-items: center; color: #fff; background: rgba(255,255,255,.06); font-size: 12px; font-weight: 800; }
  .mobile-booking-menu a:active { background: var(--gradient-main); transform: scale(.96); }
  .mobile-chat-menu[hidden] { display: none; }
  .mobile-chat-menu { position: absolute; right: 6px; bottom: calc(100% + 13px); width: min(190px,calc(100vw - 24px)); padding: 10px; border: 1px solid rgba(188,238,255,.28); border-radius: 14px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; color: #fff; background: linear-gradient(145deg,rgba(7,26,56,.98),rgba(29,57,122,.98) 66%,rgba(69,34,122,.98)); box-shadow: 0 18px 44px rgba(0,0,0,.38); animation: mobileChatMenuIn .2s ease-out; }
  .mobile-chat-menu::after { content: ""; position: absolute; right: 29px; bottom: -7px; width: 13px; height: 13px; border-right: 1px solid rgba(188,238,255,.28); border-bottom: 1px solid rgba(188,238,255,.28); background: #263778; transform: rotate(45deg); }
  .mobile-chat-menu a { position: relative; z-index: 1; min-height: 46px; border: 1px solid rgba(188,238,255,.18); border-radius: 9px; display: grid; place-items: center; color: #fff; background: rgba(255,255,255,.06); font-size: 12px; font-weight: 800; }
  .mobile-chat-menu a:active { background: var(--gradient-main); transform: scale(.96); }
  .directions-hero { padding: 28px 18px 22px; }
  .directions-hero h1 { font-size: 46px; }
  .directions-hero > .directions-shell > p:last-child { font-size: 13px; }
  .directions-content { padding: 0 10px 100px; }
  .directions-layout { grid-template-columns: 1fr; gap: 9px; padding: 9px; border-radius: 14px; }
  .directions-branch-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .directions-branch { min-height: 52px; padding: 0 11px; }
  .directions-branch:hover,.directions-branch:focus-visible { transform: none; }
  .directions-branch span { font-size: 13px; }
  .directions-branch small { font-size: 10px; }
  .directions-map-card { border-radius: 11px; }
  .directions-map-frame,.directions-map-frame #directions-map { min-height: 370px; height: 370px; }
  .directions-map-info { min-height: auto; padding: 16px 14px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; column-gap: 10px; row-gap: 6px; }
  .directions-map-info > div:first-child { min-width: 0; }
  .directions-map-info h2 { font-size: 20px; }
  .directions-map-info p { font-size: 13px; }
  .directions-map-actions { align-self: start; margin-left: 0; justify-content: flex-end; }
  .directions-map-actions a { width: auto; min-width: 82px; padding: 11px 13px; justify-content: center; }
  .directions-map-actions a span { display: none; }
  footer { padding-bottom: 100px; }
  .consult-modal { padding: 14px; }
  .consult-modal-panel { max-height: calc(100vh - 28px); padding: 28px 20px 22px; border-radius: 15px; }
  .consult-modal-panel > h2 { font-size: 27px; }
  .consult-modal-panel > p { margin-right: 28px; }
  .consult-phone { grid-template-columns: 76px 7px minmax(0,1fr) 7px minmax(0,1fr); gap: 5px; }
  .consult-modal-panel input[type="text"], .consult-modal-panel input[type="tel"], .consult-modal-panel select { padding: 0 9px; font-size: 13px; }
}

/* Criminal-law site footer — copied without visual modification. */
.site-footer{box-sizing:border-box;color:#fff!important;background:#1f1f1f!important;border-top:1px solid #ffffff2e!important;gap:16px!important;padding:26px clamp(18px,5vw,64px) 22px!important;display:flex!important;flex-direction:column;width:100%!important;max-width:none!important;margin-top:-1px!important}
.site-footer .footer-main{grid-template-columns:minmax(170px,.5fr) minmax(0,1.95fr) minmax(350px,1.05fr);align-items:start;column-gap:clamp(30px,4vw,64px);display:grid;width:100%;min-width:0}
.site-footer .footer-brand-heading{align-items:center;gap:12px;display:flex;min-width:max-content}
.site-footer .footer-brand-logo{background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:grid;overflow:hidden;box-shadow:0 0 0 1px #ffffff3d}
.site-footer .footer-brand-logo img{object-fit:contain;width:100%;height:100%;display:block}
.site-footer .footer-brand-copy{gap:2px;min-width:max-content;display:grid}
.site-footer .footer-brand-copy strong{color:#fff;white-space:nowrap;word-break:keep-all;font-size:16px;font-weight:900;display:block}
.site-footer .footer-brand-copy small{color:#f0f4ffad;white-space:nowrap;font-size:10px;font-weight:700;line-height:1.3;display:block}
.site-footer .footer-social{display:flex;align-items:center;gap:8px;margin-top:16px}
.site-footer .footer-social a{width:36px;height:36px;border:1px solid #ffffff52;border-radius:50%;display:grid;place-items:center;color:#fff;background:#ffffff0a;font-size:16px;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
.site-footer .footer-social a:hover,.site-footer .footer-social a:focus-visible{color:#fff;background:#ffffff24;border-color:#fff;outline:none;transform:translateY(-2px)}
.site-footer .footer-social a b{color:#fff;font:900 14px/1 Arial,sans-serif}
.site-footer .footer-office-grid{grid-template-columns:minmax(0,1fr);row-gap:8px;display:grid;transform:translate(10px)}
.site-footer .footer-office{grid-template-columns:84px minmax(0,1fr);align-items:baseline;gap:8px;min-width:0;font-size:11.5px;line-height:1.4;display:grid}
.site-footer .footer-office b{color:#fff;white-space:nowrap;font-weight:900}
.site-footer .footer-office span,.site-footer .footer-business span,.site-footer .footer-notice span{color:#ffffffb8}
.site-footer .footer-quick-column{z-index:10;align-self:start;min-width:0;display:grid;position:relative}
.site-footer .footer-site-links{background:#080a0f57;border:1px solid #ffffff57;border-radius:10px;align-self:start;width:auto;min-width:166px;position:relative;overflow:visible}
.site-footer .footer-site-links-menu{z-index:20;background:#151820;border:1px solid #ffffff57;border-radius:9px;position:absolute;top:calc(100% + 5px);left:-1px;right:-1px;overflow:hidden;box-shadow:0 14px 30px #00000057}
.site-footer .footer-site-links-title,.site-footer .footer-site-links a{box-sizing:border-box;align-items:center;min-height:44px;padding:10px 14px;display:flex}
.site-footer .footer-site-links-title{cursor:pointer;user-select:none;justify-content:space-between;gap:12px;list-style:none}
.site-footer .footer-site-links-title::-webkit-details-marker{display:none}
.site-footer .footer-site-links-title:focus-visible{outline-offset:-3px;outline:2px solid #79cfffe6}
.site-footer .footer-site-links-title strong{color:#fff;white-space:nowrap;word-break:keep-all;font-size:12px;font-weight:900}
.site-footer .footer-site-links-title span{border-bottom:1.5px solid #ffffffd1;border-right:1.5px solid #ffffffd1;width:9px;height:9px;transition:transform .18s;transform:translateY(3px) rotate(225deg)}
.site-footer .footer-site-links[open] .footer-site-links-title span{transform:translateY(-2px) rotate(45deg)}
.site-footer .footer-site-links a{color:#ffffffe6;border-top:1px solid #ffffff2e;font-size:11px;font-weight:800;line-height:1.35;text-decoration:none;transition:background .16s,color .16s,padding-left .16s}
.site-footer .footer-site-links-menu a:first-child{border-top:0}
.site-footer .footer-site-links a:hover,.site-footer .footer-site-links a:focus-visible{color:#fff;background:#5983ff2e;outline:none;padding-left:18px}
.site-footer .footer-sub{border-top:1px solid #ffffff24;grid-template-areas:"notice business copy";grid-template-columns:max-content minmax(0,1fr) max-content!important;align-items:center;gap:0 38px!important;width:100%;min-width:0;padding-top:18px;font-size:11px;line-height:1.35;display:grid}
.site-footer .footer-notice{grid-area:notice;min-height:16px;align-items:center;gap:6px 12px!important;display:flex}
.site-footer .footer-business{grid-area:business;grid-template-columns:repeat(6,max-content)!important;min-height:16px;align-items:baseline!important;gap:4px 10px!important;display:grid!important}
.site-footer .footer-business b:nth-of-type(2),.site-footer .footer-business b:nth-of-type(3){margin-left:28px}
.site-footer .footer-notice b,.site-footer .footer-business b{color:#f4f7ff!important;white-space:nowrap;font-size:11px;font-weight:900;line-height:1.35}
.site-footer .footer-notice span,.site-footer .footer-business span{font-size:11px;line-height:1.35;color:#f0f4ffc2!important}
.site-footer .footer-copy{grid-area:copy;place-self:center end;text-align:right!important;white-space:nowrap;color:#f0f4ffad!important;font-size:10px;line-height:1.3;margin:0!important}
@media (min-width:1121px){.site-footer .footer-quick-column{justify-self:start;width:175px}.site-footer .footer-site-links{width:175px;min-width:0}}
@media (max-width:1120px){.site-footer .footer-main,.site-footer .footer-sub{grid-template-columns:1fr!important}.site-footer .footer-main{position:relative;gap:26px}.site-footer .footer-brand-block{padding-right:190px}.site-footer .footer-office-grid{transform:none}.site-footer .footer-quick-column{position:absolute;top:0;right:0;width:175px}.site-footer .footer-site-links{width:175px}.site-footer .footer-sub{grid-template-areas:"notice" "business" "copy";row-gap:7px!important}.site-footer .footer-copy{justify-self:end;text-align:right!important}}
@media (max-width:720px){.site-footer{gap:14px!important;padding:20px 14px 84px!important}.site-footer .footer-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}.site-footer .footer-brand-block{padding-right:164px}.site-footer .footer-office-grid{gap:6px;width:100%}.site-footer .footer-office{width:100%;min-width:0;grid-template-columns:68px minmax(0,1fr)!important;gap:7px;font-size:11.5px;line-height:1.4}.site-footer .footer-office span{overflow-wrap:normal;word-break:keep-all;white-space:normal;min-width:0;font-size:11.5px;line-height:1.4}.site-footer .footer-quick-column{position:absolute;top:0;right:0;grid-template-columns:1fr;width:154px!important}.site-footer .footer-site-links{min-width:154px;width:154px!important}.site-footer .footer-site-links-title{min-height:38px;padding:8px 12px}.site-footer .footer-business{grid-template-columns:auto minmax(0,1fr)!important}.site-footer .footer-business b:nth-of-type(2),.site-footer .footer-business b:nth-of-type(3){margin-left:0}.site-footer .footer-copy{justify-self:start;text-align:left!important;white-space:normal}}

/* Divorce success cases */
.success-cases {
  position: relative;
  overflow: hidden;
  padding: clamp(84px,9vw,132px) clamp(20px,5vw,76px) clamp(76px,8vw,116px);
  color: #071a3c;
  background:radial-gradient(circle at 86% 8%,rgba(72,158,255,.14),transparent 30%),linear-gradient(135deg,#fff,#f3f7ff);
}
.success-cases::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg,transparent 35%,rgba(111,88,255,.05));
}
.success-cases::after { content:"YULMARU"; position:absolute; right:-.04em; top:.2em; color:rgba(20,76,170,.045); font:900 clamp(110px,18vw,280px)/1 Arial,sans-serif; letter-spacing:-.08em; pointer-events:none; }
.success-cases-head,.success-case-viewport,.success-case-controls,.success-case-more { position: relative; z-index: 1; }
.success-cases-head { width: min(100%,1210px); margin: 0 auto 44px; }
.success-cases-head > p {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 24px;
  color: #1da9ea;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .22em;
}
.success-cases-head > p::before { content:""; flex:0 0 40px; width:40px; height:1px; background:currentColor; }
.success-cases-head h2 {
  margin: 0;
  font-family: "Gowun Batang",serif;
  font-size: clamp(38px,4.6vw,68px);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.05em;
}
.success-cases-head h2 em { color: #2464e8; font-style: normal; }
.success-case-filters { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 42px; }
.success-case-filters button {
  min-width: auto;
  min-height: 38px;
  padding: 0 14px;
  color: #53617d;
  background: #fff;
  border: 1px solid #b9c9e6;
  border-radius: 999px;
  font: 700 11px/1 var(--sans);
  cursor: pointer;
  transition: .2s ease;
}
.success-case-filters button:hover,.success-case-filters button.active { color:#fff; border-color:transparent; background:var(--gradient-main); box-shadow:0 8px 18px rgba(75,86,214,.2); }
.success-case-viewport { width: min(100%,1340px); margin: 0 auto; }
.success-case-nav { z-index:6; cursor:pointer; position:absolute; top:50%; width:36px; height:36px; padding:0; overflow:hidden; color:transparent; background:linear-gradient(135deg,#4e56e8,#168edc); border:1px solid rgba(255,255,255,.55); border-radius:10px; transform:translateY(-50%); box-shadow:0 10px 24px rgba(10,40,90,.34),inset 0 1px rgba(255,255,255,.24); transition:transform .16s,opacity .16s,background .16s,box-shadow .16s; }
.success-case-nav::before { content:""; box-sizing:border-box; display:block; width:9px; height:9px; margin:auto; border:2px solid #fff; border-width:0 2px 2px 0; }
.success-case-prev { left:10px; }
.success-case-next { right:10px; }
.success-case-prev::before { margin-left:14px; transform:rotate(135deg); }
.success-case-next::before { margin-right:14px; transform:rotate(-45deg); }
.success-case-nav:hover,.success-case-nav:focus-visible { outline:none; background:linear-gradient(135deg,#685cff,#22a9ed); transform:translateY(-50%) scale(1.04); box-shadow:0 12px 28px rgba(10,40,90,.44),inset 0 1px rgba(255,255,255,.3); }
.success-case-nav:disabled { opacity:0; visibility:hidden; pointer-events:none; }
.success-case-track {
  display: flex;
  gap: 18px;
  overflow-x: auto;
  padding: 4px 58px 18px 0;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
}
.success-case-track:active { cursor: grabbing; }
.success-case-track.is-dragging { cursor:grabbing; user-select:none; }
.success-case-track::-webkit-scrollbar { display:none; }
.success-case-card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 0 0 calc((100% - 72px)/5);
  min-width: 240px;
  overflow: hidden;
  color: inherit;
  background: #fff;
  border: 1px solid rgba(22,73,140,.18);
  border-radius: 14px;
  text-decoration: none;
  scroll-snap-align: start;
  box-shadow: none;
  transition: transform .25s ease,box-shadow .25s ease;
}
.success-case-card:hover { transform: translateY(-7px); box-shadow: none; }
.success-case-card[hidden] { display: none; }
.success-case-copy {
  display:flex;
  flex-direction:column;
  flex: 1;
  box-sizing: border-box;
  min-height: 145px;
  padding: 14px 17px 0;
  color: #fff;
  background: linear-gradient(145deg,#123f79,#111d3f 72%);
}
.success-case-copy span { position:absolute; z-index:3; top:10px; left:10px; display:inline-flex; align-items:center; min-height:0; padding:7px 12px; border:0; border-radius:999px; color:#fff; background:linear-gradient(100deg,#b138d5c7,#1db5e0b3); box-shadow:none; font:900 11px/1 var(--sans); }
.success-case-copy h3 { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; margin:0 0 6px; min-height:46px; font-size:16px; line-height:1.42; letter-spacing:-.035em; word-break:keep-all; }
.success-case-copy p { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; margin:0; color:rgba(235,245,255,.72); font-size:12.5px; line-height:1.65; word-break:keep-all; }
.success-case-lawyers { margin-top:auto; padding-top:7px; border-top:1px solid rgba(139,206,255,.28); }
.success-case-lawyers-head { display:flex; align-items:center; height:18px; gap:5px; margin-bottom:0; }
.success-case-lawyers-head small { color:rgba(224,241,255,.68); font-size:9px; font-weight:700; }
.success-case-lawyers-head button { position:relative; z-index:5; width:18px; height:18px; padding:0; border:1px solid rgba(139,206,255,.35); border-radius:50%; background:rgba(71,144,224,.14); cursor:pointer; }
.success-case-lawyers-head button::before { content:""; display:block; width:5px; height:5px; margin:4px auto 0; border:1.5px solid #bdeaff; border-width:0 1.5px 1.5px 0; transform:rotate(45deg); transition:transform .2s ease,margin .2s ease; }
.success-case-lawyers.is-expanded .success-case-lawyers-head button::before { margin-top:7px; transform:rotate(225deg); }
.success-case-lawyer-list { display:flex; flex-wrap:wrap; align-items:flex-start; align-content:flex-start; gap:5px; padding:10px 0 14px; }
.success-case-lawyers.is-expanded .success-case-lawyer-list { flex-wrap:wrap; max-height:58px; }
.success-case-lawyer { display:inline-flex!important; position:static!important; flex:0 0 auto; min-height:0!important; padding:0!important; align-items:center; gap:4px; color:#fff!important; background:none!important; border:0!important; border-radius:0!important; box-shadow:none!important; font-size:9px!important; }
.success-case-lawyer img { width:22px; height:22px; object-fit:contain; object-position:center bottom; background:linear-gradient(135deg,#7247db,#21b8e8); border:1px solid rgba(112,211,255,.72); border-radius:50%; }
.success-case-lawyer b { white-space:nowrap; font-size:9px; }
.success-case-document { order: -1; position: relative; height: 220px; overflow: hidden; background: #f8f6f1; }
.success-case-document::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 46%,rgba(255,255,255,.2)); }
.success-case-document img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:grayscale(.12) contrast(.94) brightness(1.08); transform:scale(1.06); transform-origin:center top; }
.success-case-card[data-case-id="81"] .success-case-document img,
.success-case-card[data-case-id="151"] .success-case-document img { object-position:center 64%; transform:translateY(-22%) scale(1.58); transform-origin:center 64%; }
.success-case-card[data-case-id="81"] .success-case-document::before,
.success-case-card[data-case-id="151"] .success-case-document::before { content:""; position:absolute; z-index:2; inset:0 auto 0 0; width:12px; background:#fff; }
.success-case-document strong {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: max-content;
  max-width: 88%;
  padding: 8px 10px;
  color: #b32936;
  background: rgba(255,250,246,.88);
  border: 4px solid #b32936;
  font-size: clamp(17px,1.4vw,23px);
  font-weight: 900;
  line-height: 1.32;
  text-align: center;
  letter-spacing: -.045em;
  transform: translate(-50%,-50%) rotate(-6deg);
  box-shadow: 0 2px 0 rgba(179,41,54,.12);
}
.success-case-controls { display:flex; justify-content:center; margin:10px auto 0; }
.success-case-count { color:#173f71; font-size:13px; font-weight:900; letter-spacing:.08em; white-space:nowrap; }
.success-case-more { display: flex; align-items: center; justify-content: center; gap: 14px; width: min(100%,380px); min-height: 62px; margin: 42px auto 0; color: #12315d; background: #fff; border-radius: 12px; font-weight: 800; text-decoration: none; box-shadow: 0 12px 35px rgba(0,0,0,.18); }
.success-case-more span { font-size: 22px; transition: transform .2s; }
.success-case-more:hover span { transform: translateX(5px); }
@media (max-width:1100px) { .success-case-card { flex-basis: calc((100% - 36px)/3); } }
@media (max-width:720px) {
  .success-cases { padding:70px 16px 82px; background:linear-gradient(135deg,#fff,#f3f7ff); }
  .success-cases::after { top:.45em; font-size:100px; }
  .success-cases-head { margin-bottom: 30px; }
  .success-cases-head > p { margin-bottom: 15px; font-size: 10px; }
  .success-cases-head h2 { font-size: clamp(34px,10vw,45px); }
  .success-case-filters { gap: 7px; margin-top: 28px; }
  .success-case-filters button { min-width:auto; min-height:38px; padding:0 14px; font-size:11px; }
  .success-case-track { margin-right: -16px; }
  .success-case-track { padding-right:46px; }
  .success-case-nav { width:36px; height:36px; }
  .success-case-prev { left:8px; }
  .success-case-next { right:8px; }
  .success-case-card { flex-basis:min(78vw,290px); min-width:min(78vw,290px); }
  .success-case-copy { min-height:135px; padding:13px 15px 0; }
  .success-case-copy h3 { min-height:43px; font-size:15px; }
  .success-case-document { height:220px; }
  .success-case-document strong { border-width:3px; font-size:18px; }
  .success-case-controls { margin-top:8px; }
}

/* Naver visitor reviews */
.client-reviews { position:relative; overflow:hidden; padding:clamp(78px,8vw,120px) clamp(20px,6vw,100px); color:#102750; background:linear-gradient(180deg,#f6fbff 0%,#edf5ff 100%); }
.client-reviews::before { content:""; position:absolute; width:420px; height:420px; right:-150px; top:-160px; border:90px solid rgba(30,117,255,.05); border-radius:50%; pointer-events:none; }
.client-reviews::after { content:"REVIEW"; position:absolute; right:-.03em; top:.08em; color:rgba(10,62,139,.035); font:900 clamp(100px,17vw,260px)/1 Arial,sans-serif; letter-spacing:-.08em; pointer-events:none; }
.client-reviews-head,.client-reviews-layout { position:relative; z-index:1; width:min(100%,1280px); margin-inline:auto; }
.client-reviews-head { margin-bottom:42px; }
.client-reviews-head > p { display:flex; align-items:center; gap:12px; margin:0 0 21px; color:#0878e5; font-size:12px; font-weight:900; letter-spacing:.22em; }
.client-reviews-head > p::before { content:""; width:40px; height:2px; background:#1698ff; }
.client-reviews-head h2 { margin:0; font:700 clamp(36px,4vw,60px)/1.22 var(--serif); letter-spacing:-.05em; }
.client-reviews-head h2 em { color:#0878e5; }
.client-reviews-head > span { display:block; max-width:680px; margin-top:18px; color:#607695; font-size:14px; line-height:1.75; }
.client-reviews-layout { display:grid; grid-template-columns:1fr; gap:20px; }
.client-review-feature { overflow:hidden; border:1px solid #d7e6f6; border-radius:28px; background:#fff; box-shadow:0 24px 70px rgba(35,80,135,.12); }
.client-review-photo { width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:18px; background:#eaf2fb; box-shadow:0 12px 32px rgba(16,59,112,.13); }
.client-review-photo img { width:100%; height:100%; object-fit:cover; }
.client-review-feature-copy { padding:clamp(28px,4vw,52px); }
.client-review-feature-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; color:#607695; font-size:13px; }
.client-review-feature-meta b { color:#102750; font-size:18px; }
.client-review-rating { display:inline-flex; align-items:center; gap:10px; }
.client-review-rating time { color:#72839a; font-size:12px; white-space:nowrap; }
.client-review-stars { color:#ffad26; letter-spacing:.1em; }
.client-review-feature-main { display:grid; grid-template-columns:1fr; gap:30px; align-items:center; margin:34px 0 30px; }
.client-review-feature-main:has(.client-review-photo) { grid-template-columns:minmax(0,1fr) minmax(240px,340px); }
.client-review-quote { position:relative; padding-left:48px; }
.client-review-quote > span { position:absolute; left:0; top:-25px; color:#1c8cff; font:800 76px/1 Georgia,serif; opacity:.25; }
.client-review-feature blockquote { margin:0; color:#102750; font:700 clamp(24px,2.8vw,40px)/1.55 var(--serif); letter-spacing:-.04em; }
.client-review-feature footer { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-top:20px; border-top:1px solid #dce8f4; color:#607695; font-size:13px; }
.client-review-feature footer span::before { content:""; display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:#188cff; }
.client-review-feature footer a { padding:10px 15px; border-radius:999px; color:#fff; background:#102750; font-weight:800; transition:transform .2s,background .2s; }
.client-review-feature footer a:hover { transform:translateY(-2px); background:#0878e5; }
.client-review-feature footer i { font-style:normal; }
.client-review-list-wrap { min-height:0; padding:20px; border:1px solid #d7e6f6; border-radius:24px; background:rgba(255,255,255,.72); }
.client-review-list-head { min-height:42px; padding:0 4px 15px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid #dce8f4; }
.client-review-list-head b { font-size:16px; }
.client-review-list-head span { color:#0878e5; font-size:12px; font-weight:900; letter-spacing:.08em; }
.client-review-list { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(265px,1fr); gap:12px; padding:16px 2px 6px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:thin; scrollbar-color:#8db8e5 transparent; }
.client-review-item { min-height:138px; padding:18px; display:grid; grid-template-columns:42px minmax(0,1fr); align-items:start; gap:12px; border:1px solid #d8e6f5; border-radius:18px; color:#102750; background:#fff; text-align:left; cursor:pointer; scroll-snap-align:start; transition:transform .2s,border-color .2s,box-shadow .2s; }
.client-review-item:hover,.client-review-item:focus-visible,.client-review-item.active { outline:0; transform:translateY(-3px); border-color:#59aaff; box-shadow:0 10px 28px rgba(37,101,172,.12); }
.client-review-item.active { background:linear-gradient(145deg,#f7fbff,#e8f4ff); }
.client-review-avatar { width:42px; height:42px; display:grid; place-items:center; border:1px solid #a6cef6; border-radius:50%; color:#0878e5; background:#eef7ff; font:800 15px var(--serif); }
.client-review-item strong,.client-review-item small { display:block; }
.client-review-item strong { margin-bottom:8px; font-size:14px; line-height:1.4; }
.client-review-item p { margin:0; overflow:hidden; color:#607695; font-size:12px; line-height:1.6; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.client-review-item small { grid-column:2; color:#0878e5; font-size:11px; font-weight:800; }
@media (max-width:900px) { .client-review-feature-main:has(.client-review-photo) { grid-template-columns:minmax(0,1fr) 240px; } }
@media (max-width:720px) {
  .client-reviews { padding:54px 12px 60px; }
  .client-reviews-head { margin-bottom:22px; }
  .client-reviews-head > span { font-size:13px; }
  .client-reviews-layout { gap:14px; }
  .client-review-feature { min-height:0; border-radius:14px; }
  .client-review-feature-copy { padding:20px 18px 20px; }
  .client-review-feature-meta { align-items:flex-start; flex-direction:column; gap:8px; }
  .client-review-feature-meta b { font-size:15px; }
  .client-review-feature-main,.client-review-feature-main:has(.client-review-photo) { grid-template-columns:1fr; gap:18px; margin:22px 0 18px; }
  .client-review-quote { padding-left:30px; }
  .client-review-quote > span { top:-14px; font-size:52px; }
  .client-review-feature blockquote { font-size:20px; line-height:1.55; }
  .client-review-photo { width:100%; max-width:300px; border-radius:12px; }
  .client-review-feature footer { align-items:flex-start; flex-direction:column; gap:8px; padding-top:14px; font-size:12px; }
  .client-review-list-wrap { min-height:0; padding:14px 10px 10px; border-radius:14px; }
  .client-review-list-head { min-height:34px; padding:0 6px 10px; }
  .client-review-list-head b { font-size:15px; }
  .client-review-list { grid-auto-columns:minmax(235px,82vw); padding-top:10px; }
  .client-review-item { min-height:124px; padding:14px; grid-template-columns:38px minmax(0,1fr); gap:9px; }
  .client-review-avatar { width:38px; height:38px; font-size:13px; }
  .client-review-item strong { margin-bottom:3px; font-size:13px; }
  .client-review-item p { font-size:12px; }
  .client-review-item small { grid-column:2; font-size:10px; }
}

/* Client review — interview board */
.client-reviews { color:#071a38; background:#fff; }
.client-reviews::before { width:1px; height:calc(100% - 150px); left:clamp(20px,6vw,100px); right:auto; top:75px; border:0; border-radius:0; background:#dce6f2; }
.client-reviews::after { content:"VOICE"; right:-.04em; top:.18em; color:rgba(7,26,56,.025); font-size:clamp(110px,20vw,290px); }
.client-reviews-head { display:grid; grid-template-columns:180px minmax(0,1fr); column-gap:38px; margin-bottom:64px; }
.client-reviews-head > p { grid-row:1 / span 2; align-self:start; flex-direction:column; align-items:flex-start; gap:14px; margin:8px 0 0; color:#0878e5; }
.client-reviews-head > p::before { width:54px; height:3px; }
.client-reviews-head h2 { grid-column:2; max-width:850px; font-size:clamp(40px,5.4vw,72px); line-height:1.15; }
.client-reviews-head h2 em { display:inline; color:#0878e5; }
.client-reviews-head > span { grid-column:2; margin-top:20px; }
.client-reviews-layout { gap:36px; }
.client-review-feature { position:relative; border:0; border-radius:0; background:transparent; box-shadow:none; }
.client-review-feature::before,.client-review-feature::after { content:""; display:block; height:1px; background:#b9c9dc; }
.client-review-feature-copy { width:min(100%,1000px); margin:auto; padding:44px 26px 38px; }
.client-review-feature-meta { justify-content:center; gap:24px; }
.client-review-feature-meta b { padding:8px 16px; border:1px solid #071a38; border-radius:999px; color:#071a38; font-size:14px; letter-spacing:.01em; }
.client-review-rating { flex-direction:row-reverse; }
.client-review-feature-main,.client-review-feature-main:has(.client-review-photo) { grid-template-columns:1fr; justify-items:center; gap:30px; margin:38px 0 34px; }
.client-review-quote { max-width:920px; padding:0 40px; text-align:center; }
.client-review-quote > span { position:static; display:block; height:52px; color:#0878e5; font-size:92px; line-height:.8; opacity:1; }
.client-review-feature blockquote { color:#071a38; font-size:clamp(27px,3.6vw,48px); line-height:1.48; word-break:keep-all; }
.client-review-photo { width:min(100%,430px); aspect-ratio:4/3; border:8px solid #fff; border-radius:0; outline:1px solid #c8d6e6; transform:rotate(-1.3deg); box-shadow:14px 16px 0 #e7f3ff; }
.client-review-feature footer { justify-content:center; gap:30px; padding-top:0; border:0; font-size:13px; }
.client-review-feature footer span::before { width:28px; height:1px; margin:0 10px 4px 0; border-radius:0; background:#0878e5; }
.client-review-feature footer a { padding:0 0 3px; border-radius:0; color:#071a38; background:transparent; border-bottom:1px solid #071a38; }
.client-review-feature footer a:hover { color:#0878e5; background:transparent; transform:none; border-color:#0878e5; }
.client-review-list-wrap { padding:0; border:0; border-radius:0; background:transparent; }
.client-review-list-head { padding:0 0 14px; border-bottom:2px solid #071a38; }
.client-review-list-head b { color:#071a38; font-size:14px; letter-spacing:.05em; }
.client-review-list-head span { color:#0878e5; }
.client-review-list { grid-auto-flow:initial; grid-auto-columns:auto; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; padding:0; overflow:visible; }
.client-review-item { min-height:102px; padding:18px 16px; grid-template-columns:38px minmax(0,1fr) auto; gap:12px; border:0; border-right:1px solid #dce6f2; border-bottom:1px solid #dce6f2; border-radius:0; background:#fff; scroll-snap-align:none; }
.client-review-item:nth-child(4n+1) { border-left:1px solid #dce6f2; }
.client-review-item:hover,.client-review-item:focus-visible,.client-review-item.active { transform:none; border-color:#98bce2; box-shadow:none; }
.client-review-item.active { color:#fff; background:#071a38; }
.client-review-avatar { width:auto; height:auto; place-items:start; border:0; border-radius:0; color:#0878e5; background:transparent; font:900 12px/1 var(--sans); letter-spacing:.08em; }
.client-review-item.active .client-review-avatar { color:#70dfff; }
.client-review-item strong { margin-bottom:7px; font-size:13px; }
.client-review-item p { color:#71839a; font-size:12px; }
.client-review-item.active p { color:#b9cce1; }
.client-review-item small { grid-column:3; align-self:start; color:#8ca1ba; font-size:9px; letter-spacing:.1em; }
.client-review-item.active small { color:#70dfff; }
@media (max-width:900px) {
  .client-reviews-head { grid-template-columns:125px minmax(0,1fr); column-gap:22px; }
  .client-review-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .client-review-item:nth-child(4n+1) { border-left:0; }
  .client-review-item:nth-child(2n+1) { border-left:1px solid #dce6f2; }
}
@media (max-width:720px) {
  .client-reviews::before { display:none; }
  .client-reviews-head { display:block; margin-bottom:34px; }
  .client-reviews-head > p { flex-direction:row; align-items:center; margin-bottom:15px; }
  .client-reviews-head h2 { font-size:36px; }
  .client-review-feature-copy { padding:30px 8px 28px; }
  .client-review-feature-meta { align-items:center; flex-direction:column; gap:10px; }
  .client-review-rating { flex-direction:row-reverse; }
  .client-review-feature-main,.client-review-feature-main:has(.client-review-photo) { margin:30px 0 24px; }
  .client-review-quote { padding:0 6px; }
  .client-review-quote > span { height:40px; font-size:70px; }
  .client-review-feature blockquote { font-size:23px; line-height:1.55; }
  .client-review-photo { max-width:280px; border-width:6px; box-shadow:9px 10px 0 #e7f3ff; }
  .client-review-feature footer { align-items:center; flex-direction:row; justify-content:space-between; gap:12px; }
  .client-review-list-wrap { padding:0; }
  .client-review-list { display:grid; grid-template-columns:1fr 1fr; gap:0; overflow:visible; }
  .client-review-item { min-height:88px; padding:13px 10px; grid-template-columns:28px minmax(0,1fr); }
  .client-review-item small { display:none; }
}

/* Client review — case file */
.client-reviews { color:#17253a; background:linear-gradient(90deg,rgba(17,35,58,.035) 1px,transparent 1px),linear-gradient(#f0ede6,#e8e4db); background-size:54px 54px,auto; }
.client-reviews::before { display:none; }
.client-reviews::after { content:"CLIENT FILE"; right:clamp(20px,6vw,100px); top:70px; color:rgba(20,37,59,.07); font-size:clamp(48px,8vw,120px); letter-spacing:-.06em; }
.client-reviews-head { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:22px 50px; margin-bottom:42px; }
.client-reviews-head > p { width:100%; flex-direction:row; align-items:center; gap:12px; margin:0; color:#234f83; }
.client-reviews-head > p::before { width:34px; height:2px; background:#234f83; }
.client-reviews-head h2 { max-width:760px; font-size:clamp(38px,4.8vw,66px); line-height:1.14; }
.client-reviews-head h2 em { color:#b6433d; }
.client-reviews-head > span { max-width:410px; margin:0 0 7px; color:#5f6875; }
.client-reviews-layout { grid-template-columns:1fr; gap:18px; }
.client-review-list-wrap { grid-row:1; padding:12px; border:1px solid rgba(28,49,74,.18); border-radius:8px; background:rgba(255,255,255,.48); box-shadow:0 8px 24px rgba(56,51,42,.06); }
.client-review-list-head { min-height:34px; padding:0 5px 10px; border-bottom:1px solid rgba(28,49,74,.16); }
.client-review-list-head b { color:#17253a; font-size:12px; text-transform:uppercase; letter-spacing:.12em; }
.client-review-list-head span { color:#b6433d; font-size:11px; }
.client-review-list { display:flex; grid-template-columns:none; gap:8px; padding:10px 0 0; overflow-x:auto; scroll-snap-type:x proximity; }
.client-review-item { flex:0 0 150px; min-height:58px; padding:10px 11px; grid-template-columns:26px minmax(0,1fr); gap:8px; border:1px solid #d0cabf; border-radius:3px; color:#17253a; background:#f8f6f1; scroll-snap-align:start; }
.client-review-item:nth-child(4n+1),.client-review-item:nth-child(2n+1) { border-left:1px solid #d0cabf; }
.client-review-item:hover,.client-review-item:focus-visible { transform:translateY(-2px); border-color:#17365f; box-shadow:0 6px 12px rgba(36,45,57,.08); }
.client-review-item.active { color:#fff; border-color:#17365f; background:#17365f; box-shadow:inset 0 -3px #b6433d; }
.client-review-avatar { width:auto; height:auto; color:#b6433d; font-family:monospace; }
.client-review-item.active .client-review-avatar { color:#ffb0a9; }
.client-review-item strong { overflow:hidden; margin:0; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.client-review-item p { overflow:hidden; color:#747b84; font-size:10px; text-overflow:ellipsis; white-space:nowrap; display:block; }
.client-review-item.active p { color:#c9d4e1; }
.client-review-item small { display:none; }
.client-review-feature { grid-row:2; position:relative; overflow:visible; margin-left:22px; border:1px solid #c9c2b5; border-radius:2px; background:#faf9f5; box-shadow:0 22px 50px rgba(60,55,46,.15); }
.client-review-feature::before { content:""; position:absolute; left:-22px; top:28px; bottom:28px; width:22px; display:block; height:auto; background:#17365f; box-shadow:inset -5px 0 rgba(255,255,255,.08); }
.client-review-feature::after { content:"REVIEW / VERIFIED"; position:absolute; right:24px; top:18px; display:block; height:auto; padding:7px 10px; border:2px solid rgba(182,67,61,.42); color:rgba(182,67,61,.62); background:transparent; font:900 10px/1 var(--sans); letter-spacing:.12em; transform:rotate(2deg); }
.client-review-feature-copy { width:100%; margin:0; padding:clamp(48px,6vw,76px) clamp(28px,6vw,82px) 42px; }
.client-review-feature-meta { justify-content:flex-start; gap:12px; padding-bottom:16px; border-bottom:1px solid #d8d2c7; }
.client-review-feature-meta b { padding:0; border:0; border-radius:0; color:#17253a; font-size:15px; }
.client-review-feature-meta b::before { content:"의뢰인 "; color:#7c8490; font-size:11px; font-weight:700; }
.client-review-rating { margin-left:auto; flex-direction:row; }
.client-review-rating time { color:#6d7480; font-family:monospace; }
.client-review-stars { color:#b6433d; }
.client-review-feature-main,.client-review-feature-main:has(.client-review-photo) { grid-template-columns:minmax(0,1.3fr) minmax(230px,.7fr); justify-items:stretch; gap:clamp(30px,5vw,68px); margin:38px 0 34px; }
.client-review-feature-main:not(:has(.client-review-photo)) { grid-template-columns:1fr; }
.client-review-quote { max-width:none; padding:0; text-align:left; }
.client-review-quote > span { display:block; width:42px; height:4px; margin-bottom:24px; color:transparent; background:#b6433d; }
.client-review-feature blockquote { color:#17253a; font-size:clamp(25px,3vw,42px); line-height:1.55; }
.client-review-photo { width:100%; align-self:start; aspect-ratio:4/3; padding:9px 9px 34px; border:1px solid #c9c2b5; border-radius:0; outline:0; background:#fff; transform:rotate(1.5deg); box-shadow:5px 7px 18px rgba(37,40,43,.16); }
.client-review-feature footer { justify-content:flex-start; gap:26px; padding-top:18px; border-top:1px solid #d8d2c7; color:#5c6674; }
.client-review-feature footer span::before { width:8px; height:8px; margin:0 8px 0 0; border-radius:50%; background:#17365f; }
.client-review-feature footer a { margin-left:auto; padding:8px 12px; border:1px solid #17365f; border-radius:2px; color:#17365f; background:transparent; }
.client-review-feature footer a:hover { color:#fff; border-color:#17365f; background:#17365f; }
@media (max-width:720px) {
  .client-reviews-head { display:block; margin-bottom:28px; }
  .client-reviews-head > p { margin-bottom:14px; }
  .client-reviews-head h2 { font-size:34px; }
  .client-reviews-head > span { margin-top:15px; }
  .client-review-feature { margin-left:10px; }
  .client-review-feature::before { left:-10px; top:18px; bottom:18px; width:10px; }
  .client-review-feature::after { right:12px; top:12px; font-size:8px; }
  .client-review-feature-copy { padding:52px 20px 24px; }
  .client-review-feature-meta { align-items:flex-start; flex-direction:column; }
  .client-review-rating { margin-left:0; flex-direction:row; }
  .client-review-feature-main,.client-review-feature-main:has(.client-review-photo) { grid-template-columns:1fr; gap:26px; margin:28px 0 24px; }
  .client-review-feature blockquote { font-size:21px; }
  .client-review-photo { width:min(100%,280px); transform:rotate(1deg); }
  .client-review-feature footer { align-items:flex-start; flex-direction:column; gap:12px; }
  .client-review-feature footer a { margin-left:0; }
  .client-review-list { display:flex; overflow-x:auto; }
  .client-review-item { flex-basis:138px; min-height:56px; }
}

/* Client review — restored original */
.client-reviews { position:relative; overflow:hidden; padding:clamp(78px,8vw,120px) clamp(20px,6vw,100px); color:#fff; background:radial-gradient(circle at 8% 10%,rgba(33,211,254,.12),transparent 31%),linear-gradient(135deg,#061a37 0%,#152f69 58%,#3c1e70 100%); background-size:auto; }
.client-reviews::before { display:none; }
.client-reviews::after { content:"REVIEW"; position:absolute; right:-.03em; top:.1em; color:rgba(255,255,255,.035); font:900 clamp(100px,17vw,260px)/1 Arial,sans-serif; letter-spacing:-.08em; pointer-events:none; }
.client-reviews-head,.client-reviews-layout { position:relative; z-index:1; width:min(100%,1280px); margin-inline:auto; }
.client-reviews-head { display:block; margin-bottom:42px; }
.client-reviews-head > p { width:auto; display:flex; flex-direction:row; align-items:center; gap:12px; margin:0 0 21px; color:#72ddff; font-size:12px; font-weight:900; letter-spacing:.22em; }
.client-reviews-head > p::before { content:""; width:40px; height:1px; background:#21d3fe; }
.client-reviews-head h2 { max-width:none; margin:0; font:700 clamp(36px,4vw,60px)/1.22 var(--serif); letter-spacing:-.05em; }
.client-reviews-head h2 em { color:#74ddff; }
.client-reviews-head > span { display:block; max-width:680px; margin:18px 0 0; color:#a9c5e1; font-size:14px; line-height:1.75; }
.client-reviews-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr); gap:22px; align-items:stretch; }
.client-review-feature { grid-row:auto; min-height:560px; overflow:hidden; margin-left:0; border:1px solid rgba(188,238,255,.2); border-radius:20px; background:rgba(5,24,54,.72); box-shadow:0 25px 70px rgba(0,0,0,.22); }
.client-review-feature::before,.client-review-feature::after { display:none; }
.client-review-photo { width:min(100%,320px); aspect-ratio:1; margin:24px 0 4px; padding:0; overflow:hidden; border:1px solid rgba(188,238,255,.18); border-radius:12px; outline:0; background:linear-gradient(135deg,#173d78,#39266b); box-shadow:none; transform:none; }
.client-review-photo img { width:100%; height:100%; object-fit:cover; }
.client-review-feature-copy { width:auto; margin:0; padding:31px 36px 34px; }
.client-review-feature-meta { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:0; border-bottom:0; color:#93b7d7; font-size:13px; }
.client-review-feature-meta b { padding:0; border:0; color:#fff; font-size:16px; }
.client-review-feature-meta b::before { content:none; }
.client-review-rating { margin-left:0; display:inline-flex; flex-direction:row; align-items:center; gap:10px; }
.client-review-rating time { color:#a8c0d8; font:11px var(--sans); white-space:nowrap; }
.client-review-stars { color:#7de7ff; letter-spacing:.12em; }
.client-review-feature blockquote { margin:25px 0 22px; color:#f7fbff; font:700 clamp(23px,2.2vw,34px)/1.58 var(--serif); letter-spacing:-.035em; text-align:left; }
.client-review-feature footer { display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:15px; padding-top:19px; border-top:1px solid rgba(188,238,255,.15); color:#91afca; font-size:12px; }
.client-review-feature footer span::before { content:none; }
.client-review-feature footer a { margin-left:0; padding:0; border:0; border-radius:0; color:#7de7ff; background:transparent; font-weight:800; }
.client-review-feature footer a:hover { color:#7de7ff; background:transparent; transform:none; }
.client-review-list-wrap { grid-row:auto; min-height:560px; padding:22px 16px 16px; border:1px solid rgba(188,238,255,.18); border-radius:20px; background:rgba(255,255,255,.055); box-shadow:none; }
.client-review-list-head { min-height:42px; padding:0 9px 15px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(188,238,255,.14); }
.client-review-list-head b { color:#fff; font-size:16px; letter-spacing:0; text-transform:none; }
.client-review-list-head span { color:#fff; font-size:12px; font-weight:900; letter-spacing:.08em; }
.client-review-list-head #client-review-total {
  color:inherit;
  font-family:var(--sans);
  font-size:inherit;
  font-weight:inherit;
  letter-spacing:0;
  font-variant-numeric:tabular-nums;
}
.client-review-list { max-height:480px; display:block; padding:8px 3px 0; overflow-x:hidden; overflow-y:auto; scroll-snap-type:none; scrollbar-width:thin; scrollbar-color:#4e75ba transparent; }
.client-review-item { width:100%; min-height:84px; padding:14px 12px; display:grid; grid-template-columns:46px minmax(0,1fr) auto; align-items:center; gap:12px; border:0; border-bottom:1px solid rgba(188,238,255,.11); border-radius:0; color:#fff; background:transparent; text-align:left; cursor:pointer; transition:background .2s,border-color .2s; box-shadow:none; transform:none; }
.client-review-item:nth-child(4n+1),.client-review-item:nth-child(2n+1) { border-left:0; }
.client-review-item:hover,.client-review-item:focus-visible,.client-review-item.active { outline:0; transform:none; border-color:rgba(126,231,255,.35); background:rgba(86,128,220,.18); box-shadow:none; }
.client-review-avatar { width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(188,238,255,.24); border-radius:50%; color:#9beaff; background:#102c5a; font:800 15px var(--serif); letter-spacing:0; }
.client-review-item strong,.client-review-item small { display:block; }
.client-review-item strong { margin-bottom:6px; overflow:visible; font-size:14px; text-overflow:clip; white-space:normal; }
.client-review-item p { margin:0; overflow:hidden; color:#a9c5e1; font-size:12px; line-height:1.55; text-overflow:ellipsis; white-space:nowrap; display:block; }
.client-review-item small { grid-column:auto; align-self:auto; color:#7de7ff; font-size:10px; letter-spacing:0; }
.client-review-kind { display:inline-flex!important; align-items:center; gap:3px; white-space:nowrap; }
.client-review-kind b { padding:3px 5px; border-radius:4px; color:#071a38; font-size:9px; line-height:1; }
.client-review-kind.visit b { background:#70dfff; }
.client-review-kind.photo b { color:#fff; background:#8b6cff; }
@media (max-width:900px) { .client-reviews-layout { grid-template-columns:1fr; } .client-review-list-wrap { min-height:0; } .client-review-list { max-height:340px; } }
@media (max-width:720px) {
  .client-reviews { padding:54px 12px 60px; }
  .client-reviews-head { display:block; margin-bottom:22px; }
  .client-reviews-head > p { margin-bottom:21px; }
  .client-reviews-head h2 { font-size:clamp(36px,4vw,60px); }
  .client-reviews-head > span { margin-top:18px; font-size:13px; }
  .client-reviews-layout { gap:14px; }
  .client-review-feature { min-height:0; margin-left:0; border-radius:14px; }
  .client-review-feature-copy { padding:20px 18px 20px; }
  .client-review-feature-meta { align-items:center; flex-direction:row; gap:10px; }
  .client-review-feature-meta b { font-size:15px; }
  .client-review-rating { margin-left:0; flex-direction:row; }
  .client-review-feature blockquote { margin:16px 0; font-size:19px; line-height:1.55; }
  .client-review-photo { width:190px; max-width:100%; margin-top:16px; border-radius:10px; }
  .client-review-feature footer { align-items:flex-start; flex-direction:column; gap:8px; padding-top:14px; font-size:12px; }
  .client-review-feature footer a { margin-left:0; }
  .client-review-list-wrap { min-height:0; padding:14px 10px 10px; border-radius:14px; }
  .client-review-list-head { min-height:34px; padding:0 6px 10px; }
  .client-review-list-head b { font-size:15px; }
  .client-review-list { max-height:252px; display:block; padding-top:4px; overflow-y:auto; }
  .client-review-item { min-height:64px; padding:9px 7px; grid-template-columns:38px minmax(0,1fr) auto; gap:9px; }
  .client-review-avatar { width:38px; height:38px; font-size:13px; }
  .client-review-item strong { margin-bottom:3px; font-size:13px; }
  .client-review-item p { font-size:11px; }
  .client-review-item small { display:inline-flex; font-size:9px; }
}

/* Review source bar */
.client-review-pager {
  display:flex;
  align-items:center;
  gap:8px;
}
.client-review-pager button {
  position:relative;
  width:28px;
  height:28px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid rgba(142,232,255,.32);
  border-radius:50%;
  color:#fff;
  background:rgba(82,151,255,.12);
  font-size:0;
  cursor:pointer;
}
.client-review-pager button::before {
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  box-sizing:border-box;
  width:7px;
  height:7px;
  display:block;
  border:solid currentColor;
  border-width:0 1.5px 1.5px 0;
}
#client-review-prev::before { transform:translate(-35%,-50%) rotate(135deg); }
#client-review-next::before { transform:translate(-65%,-50%) rotate(-45deg); }
.client-review-pager button:hover:not(:disabled),
.client-review-pager button:focus-visible {
  outline:0;
  color:#fff;
  background:rgba(142,232,255,.24);
}
.client-review-pager button:disabled { opacity:.25; cursor:default; }
.client-review-list {
  overflow:hidden;
  scrollbar-width:none;
}
.client-review-list::-webkit-scrollbar { display:none; }
.client-review-item[hidden] { display:none; }
.client-review-item {
  grid-template-columns:58px minmax(0,1fr) auto;
}
.client-review-avatar {
  width:58px;
  height:30px;
  border-radius:999px;
  font:800 11px var(--sans);
  white-space:nowrap;
}
.client-review-feature,
.client-review-list-wrap {
  height:590px;
  min-height:590px;
  max-height:590px;
  align-self:stretch;
  box-sizing:border-box;
}
.client-review-feature-copy {
  height:100%;
  display:flex;
  flex-direction:column;
  padding-bottom:100px;
  overflow:hidden;
}
.client-review-content {
  display:grid;
  grid-template-columns:minmax(0,1fr) 286px;
  align-items:start;
  gap:28px;
  margin:25px 0 22px;
}
.client-review-content:not(:has(.client-review-photo)) {
  grid-template-columns:1fr;
}
.client-review-content blockquote {
  margin:0;
}
.client-review-feature .client-review-photo {
  width:min(100%,286px);
  margin:0;
}
.client-review-feature .client-review-photo.is-gallery {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:5px;
  height:286px;
  aspect-ratio:auto;
  background:transparent;
}
.client-review-feature .client-review-photo.is-gallery img {
  min-width:0;
  min-height:0;
  object-fit:cover;
}
.client-review-feature .client-review-photo.is-gallery img:first-child {
  grid-row:1 / 3;
}
.client-review-list {
  height:calc(100% - 42px);
  max-height:none;
}
.client-review-feature footer {
  position:absolute;
  left:36px;
  right:36px;
  bottom:20px;
  width:auto;
  min-width:0;
  margin-top:0;
  padding:11px 12px 11px 15px;
  border:1px solid rgba(125,231,255,.24);
  border-radius:12px;
  background:rgba(4,20,45,.38);
  box-shadow:inset 0 1px rgba(255,255,255,.04);
}
.client-review-feature footer span {
  display:inline-flex;
  align-items:center;
  color:#8edcff;
  font-weight:700;
  white-space:nowrap;
}
.client-review-feature footer span::before {
  content:none;
}
.client-review-location-icon {
  width:14px;
  height:14px;
  margin-right:7px;
  overflow:visible;
  fill:none;
  color:inherit;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.client-review-feature footer a {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border:1px solid rgba(125,231,255,.28);
  border-radius:8px;
  color:#8ee8ff;
  background:rgba(64,126,211,.13);
  white-space:nowrap;
}
.client-review-feature footer a:hover {
  color:#071a38;
  background:#8ee8ff;
}
@media (max-width:900px) {
  .client-review-feature,
  .client-review-list-wrap {
    height:auto;
    min-height:0;
  }
  .client-review-feature-copy {
    height:auto;
    overflow:visible;
  }
  .client-review-list {
    height:auto;
    max-height:none;
  }
}
@media (max-width:720px) {
  .client-review-item { grid-template-columns:52px minmax(0,1fr) auto; }
  .client-review-avatar { width:52px; height:28px; font-size:10px; }
  .client-review-feature,
  .client-review-list-wrap {
    height:auto;
    min-height:0;
  }
  .client-review-feature-copy {
    height:auto;
    padding-bottom:86px;
    overflow:visible;
  }
  .client-review-content {
    grid-template-columns:minmax(0,1fr) minmax(140px,42%);
    align-items:start;
    gap:14px;
    margin:16px 0;
  }
  .client-review-content:not(:has(.client-review-photo)) { grid-template-columns:1fr; }
  .client-review-content .client-review-photo {
    width:100%;
    align-self:start;
  }
  .client-review-list {
    height:auto;
    max-height:none;
    overflow:hidden;
  }
  .client-review-feature footer {
    left:18px;
    right:18px;
    bottom:16px;
    width:auto;
    min-width:0;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-top:14px;
    padding:9px 9px 9px 12px;
  }
  .client-review-feature footer a { min-height:32px; padding-inline:10px; }
}

/* Keep review controls stationary while content changes */
.client-review-content:not(:has(.client-review-photo)) {
  flex:1;
  min-height:0;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
}
.client-review-content:not(:has(.client-review-photo)) blockquote {
  width:100%;
  margin:0;
  text-align:center;
}
.client-review-content blockquote {
  position:relative;
  padding:0;
}
.client-review-content blockquote::before,
.client-review-content blockquote::after {
  position:static;
  display:inline;
  color:#72ddff;
  font:900 1.55em/.7 Georgia,serif;
  vertical-align:-.18em;
  pointer-events:none;
}
.client-review-content blockquote::before {
  content:"“";
  margin-right:5px;
}
.client-review-content blockquote::after {
  content:"”";
  margin-left:5px;
}
.client-review-feature-meta b {
  padding-left:0;
  border-left:0;
  color:#fff;
  font-family:var(--sans);
  font-size:15px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:.015em;
}
.client-review-feature-meta b i {
  margin-left:4px;
  color:#fff;
  font-style:normal;
}
.client-review-profile {
  display:inline-grid;
  width:34px;
  height:34px;
  margin-right:9px;
  place-items:center;
  flex:0 0 34px;
  overflow:hidden;
  border:1px solid rgba(126,226,255,.62);
  border-radius:50%;
  color:#9beaff;
  background:linear-gradient(145deg,#103b70,#291c62);
  box-shadow:inset 0 1px rgba(255,255,255,.12),0 0 18px rgba(54,207,255,.14);
  vertical-align:middle;
}
.client-review-profile svg {
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
}
.client-review-feature-meta b:has(.client-review-profile) {
  display:inline-flex;
  align-items:center;
}
.client-review-stars {
  position:relative;
  display:inline-block;
  color:rgba(125,231,255,.24);
  line-height:1;
  white-space:nowrap;
}
.client-review-stars::before {
  content:"★★★★★";
}
.client-review-stars > span {
  position:absolute;
  inset:0 auto 0 0;
  overflow:hidden;
  color:#7de7ff;
  line-height:1;
  white-space:nowrap;
}
.client-review-feature,
.client-review-list-wrap,
.client-review-list {
  overflow-anchor:none;
}
@media (min-width:721px) and (max-width:900px) {
  .client-review-feature {
    height:430px;
    min-height:430px;
  }
  .client-review-feature-copy {
    height:100%;
    overflow:hidden;
  }
}
@media (max-width:720px) {
  .client-review-feature {
    height:460px;
    min-height:460px;
  }
  .client-review-feature-copy {
    height:100%;
    overflow:hidden;
  }
  .client-review-content {
    min-height:0;
  }
  .client-review-content blockquote { padding:0; }
  .client-review-content .client-review-photo {
    max-height:250px;
  }
}

/* Review photos sit below the copy and keep a true square crop. */
.client-review-content,
.client-review-content:has(.client-review-photo) {
  grid-template-columns:1fr;
  align-content:start;
  gap:18px;
}
.client-review-content .client-review-photo {
  width:min(100%,260px);
  aspect-ratio:1 / 1;
  margin:0;
  justify-self:start;
}
.client-review-content .client-review-photo.is-gallery {
  width:min(100%,420px);
  height:auto;
  aspect-ratio:auto;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:none;
  gap:7px;
  overflow:visible;
}
.client-review-content .client-review-photo.is-gallery img,
.client-review-content .client-review-photo.is-gallery img:first-child {
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  grid-row:auto;
  object-fit:cover;
  border-radius:8px;
}
@media (max-width:720px) {
  .client-review-content .client-review-photo { width:min(100%,210px); }
  .client-review-content .client-review-photo.is-gallery { width:100%; max-height:none; }
}

/* Photo reviews use the same centered copy treatment as text-only reviews. */
.client-review-content:has(.client-review-photo) {
  display:grid;
  flex:1;
  grid-template-columns:1fr;
  grid-template-rows:minmax(0,1fr) auto;
  min-height:0;
  margin:20px 0 0;
  padding:0 0 6px;
  align-items:stretch;
  box-sizing:border-box;
}
.client-review-content:has(.client-review-photo) blockquote {
  align-self:start;
  justify-self:center;
  width:min(100%,680px);
  margin:0 auto;
  text-align:center;
  text-wrap:balance;
  word-break:keep-all;
}
.client-review-content.is-long blockquote {
  font-size:clamp(19px,1.7vw,25px);
  line-height:1.48;
}
.client-review-content.is-very-long blockquote {
  font-size:clamp(17px,1.35vw,21px);
  line-height:1.42;
}
.client-review-content .client-review-photo {
  position:static;
  width:150px;
  height:150px;
  aspect-ratio:1 / 1;
  z-index:1;
}
.client-review-content .client-review-photo.is-gallery {
  width:auto;
  height:112px;
  grid-template-columns:repeat(3,112px);
  gap:7px;
}
.client-review-content .client-review-photo.is-gallery img,
.client-review-content .client-review-photo.is-gallery img:first-child {
  width:112px;
  height:112px;
}
@media (max-width:720px) {
  .client-review-content:has(.client-review-photo) {
    padding:0;
  }
  .client-review-content .client-review-photo {
    width:112px;
    height:112px;
  }
  .client-review-content .client-review-photo.is-gallery {
    width:auto;
    height:82px;
    grid-template-columns:repeat(3,82px);
    gap:5px;
  }
  .client-review-content .client-review-photo.is-gallery img,
  .client-review-content .client-review-photo.is-gallery img:first-child {
    width:82px;
    height:82px;
  }
}

.case-detail-page { margin:0; color:#071a3c; background:linear-gradient(135deg,#fff,#eef5ff); }
.case-detail-page::before { content:"YULMARU"; position:fixed; right:-3vw; top:16vh; z-index:-1; color:rgba(20,85,190,.045); font:900 clamp(90px,17vw,270px)/1 Arial,sans-serif; }
.case-detail-main { padding:clamp(120px,13vw,180px) clamp(20px,7vw,110px) 100px; }
.case-detail-hero { width:min(100%,1200px); margin:auto; display:grid; grid-template-columns:1.08fr .92fr; gap:clamp(45px,7vw,100px); align-items:center; }
.case-detail-hero > div > a { color:#37628f; font-size:14px; font-weight:700; text-decoration:none; }
.case-detail-hero p { margin:45px 0 14px; color:#1377df; font-size:12px; font-weight:900; letter-spacing:.22em; }
.case-detail-hero span { display:inline-block; padding:7px 12px; color:#0878c7; border:1px solid #39baf0; border-radius:999px; font-size:12px; font-weight:800; }
.case-detail-hero h1 { margin:22px 0 30px; font-family:"Gowun Batang",serif; font-size:clamp(38px,5vw,66px); line-height:1.22; letter-spacing:-.055em; word-break:keep-all; }
.case-detail-hero em { color:#175edb; font-style:normal; font-size:clamp(25px,3vw,40px); font-weight:900; line-height:1.3; }
.case-detail-hero figure { position:relative; height:clamp(420px,48vw,620px); margin:0; overflow:hidden; background:#fff; border:1px solid #c7d7ec; border-radius:20px; box-shadow:0 25px 65px rgba(18,58,115,.2); }
.case-detail-hero figure img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:grayscale(.15) brightness(1.08); transform:scale(1.04); transform-origin:center top; }
.case-detail-hero figure[data-case-id="81"] img,
.case-detail-hero figure[data-case-id="151"] img { object-position:center 64%; transform:translateY(-22%) scale(1.58); transform-origin:center 64%; }
.case-detail-hero figure[data-case-id="81"]::before,
.case-detail-hero figure[data-case-id="151"]::before { content:""; position:absolute; z-index:2; inset:0 auto 0 0; width:14px; background:#fff; }
.case-detail-hero figure strong { position:absolute; left:50%; top:50%; width:max-content; max-width:85%; padding:14px 18px; color:#b32936; background:rgba(255,253,249,.91); border:6px solid #b32936; font-size:clamp(23px,3vw,38px); line-height:1.3; text-align:center; transform:translate(-50%,-50%) rotate(-6deg); }
.case-detail-body { width:min(100%,900px); margin:90px auto 0; }
.case-detail-lawyers { padding:28px; color:#fff; background:linear-gradient(145deg,#07172f,#0b2348); border:1px solid rgba(83,177,255,.38); border-radius:18px; box-shadow:0 22px 55px rgba(19,55,110,.18); }
.case-detail-lawyers header { margin:0 0 20px; }
.case-detail-lawyers header small { display:block; margin-bottom:7px; color:#55d8ff; font-size:10px; font-weight:900; letter-spacing:.14em; }
.case-detail-lawyers header h2 { margin:0; color:#fff; font:800 20px/1.3 var(--sans); letter-spacing:-.03em; }
.case-detail-lawyer-grid { display:grid; grid-template-columns:repeat(auto-fill,270px); gap:14px; align-items:stretch; }
.case-detail-lawyer-card { min-width:0; padding:7px 7px 16px; overflow:hidden; border:1px solid rgba(121,193,255,.38); border-radius:13px; background:linear-gradient(145deg,rgba(19,57,108,.94),rgba(13,31,64,.98)); box-shadow:inset 0 1px rgba(255,255,255,.08); }
.case-detail-lawyer-card > div { height:180px; overflow:hidden; border:1px solid rgba(67,215,255,.7); border-radius:9px; background:linear-gradient(135deg,#7247db,#21b8e8); }
.case-detail-lawyer-card img { width:100%; height:100%; object-fit:contain; object-position:center bottom; }
.case-detail-lawyer-card h3 { margin:13px 8px 0; color:#fff; font:800 14px/1.35 var(--sans); }
.case-detail-lawyer-card p { margin:6px 8px 0; color:#8edcff; font-size:10px; line-height:1.5; }
.case-detail-body section { padding:60px 28px; border-bottom:1px solid #cbd9e9; }
.case-detail-body small { color:#1377df; font-size:12px; font-weight:900; letter-spacing:.17em; }
.case-detail-body h2 { margin:16px 0 20px; font-family:"Gowun Batang",serif; font-size:clamp(28px,4vw,43px); line-height:1.32; }
.case-detail-body section p { margin:0; color:#465d78; font-size:17px; line-height:2; word-break:keep-all; }
.case-detail-result h2 { color:#175edb; }
.case-detail-actions { display:flex; gap:12px; margin-top:48px; }
.case-detail-actions a { flex:1; padding:20px; text-align:center; border:1px solid #175edb; border-radius:10px; color:#175edb; font-weight:800; text-decoration:none; }
@media(max-width:720px){.case-detail-page .site-header nav{display:none}.case-detail-main{padding:100px 16px 80px}.case-detail-hero{grid-template-columns:1fr;gap:42px}.case-detail-hero p{margin-top:34px}.case-detail-hero figure{height:430px}.case-detail-body{margin-top:60px}.case-detail-lawyers{padding:18px}.case-detail-lawyers header{margin-bottom:14px}.case-detail-lawyer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.case-detail-lawyer-card{padding:5px 5px 12px}.case-detail-lawyer-card>div{height:145px}.case-detail-lawyer-card h3{margin:10px 6px 0;font-size:12px}.case-detail-lawyer-card p{margin:5px 6px 0;font-size:9px}.case-detail-body section{padding:45px 18px}.case-detail-body section p{font-size:16px;line-height:1.85}.case-detail-actions{flex-direction:column}}

@keyframes mobileReservePulse {
  0%,100% { box-shadow: 0 0 0 4px rgba(82,151,255,.14),0 8px 22px rgba(42,96,220,.45); }
  50% { box-shadow: 0 0 0 8px rgba(33,211,254,.08),0 10px 28px rgba(87,69,230,.58); }
}

@keyframes mobileBookingMenuIn {
  from { opacity: 0; transform: translateX(-50%) translateY(8px) scale(.98); }
  to { opacity: 1; transform: translateX(-50%) translateY(0) scale(1); }
}

@keyframes mobileChatMenuIn {
  from { opacity: 0; transform: translateY(8px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes quickBookingMenuIn {
  from { opacity: 0; transform: translateX(6px) scale(.98); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

@keyframes menuCloseButtonIn {
  from { opacity: 0; transform: translateX(20px) scale(.9); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

@media (max-width: 900px) {
  .lawyer-profile-panel { grid-template-columns: 1fr; }
  .lawyer-profile-visual { min-height: 620px; }
  .lawyer-profile-visual > img { height: 94%; }
  .lawyer-selector-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 720px) {
  .lawyers-page { padding: 92px 0 40px; }
  .lawyers-shell { width: min(100% - 20px,1220px); }
  .lawyer-profile-panel { margin-top: 10px; border-radius: 14px; }
  .lawyer-profile-visual { min-height: 520px; }
  .lawyer-profile-name { left: 20px; bottom: 18px; }
  .lawyer-profile-name h1 { font-size: 38px; }
  .lawyer-profile-name h1 em { font-size: 18px; }
  .lawyer-profile-content { padding: 30px 20px; }
  .lawyer-profile-content blockquote { font-size: 23px; }
  .lawyer-profile-summary { font-size: 14px; }
  .lawyer-practice-list { grid-template-columns: 1fr; }
  .lawyer-profile-section li { font-size: 13px; }
  .lawyer-selector { padding: 15px; }
  .lawyer-selector-grid { gap: 8px; }
  .lawyer-selector-photo { height: 150px; }
}

@media (max-width: 430px) {
  .lawyer-profile-visual { min-height: 470px; }
  .lawyer-profile-visual > img { height: 91%; }
  .lawyer-profile-name h1 { font-size: 34px; }
  .lawyer-selector-card { padding: 5px 5px 10px; }
  .lawyer-selector-photo { height: 132px; }
  .lawyer-selector-card strong { font-size: 12px; }
  .lawyer-selector-card small { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .featured-lawyer-page.active::after { transform: scaleX(1); }
  * { animation: none !important; transition: none !important; }
}

/* Restore the original unified review-branch badge. */
.client-review-item .client-review-avatar,
.client-review-item.active .client-review-avatar {
  color:#9beaff;
  border-color:rgba(188,238,255,.24);
  background:#102c5a;
}

@media (min-width: 721px) and (max-width: 900px) {
  .final-cta { padding: 64px 6vw; }
  .final-action { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 32px; }
  .final-action .final-copy { margin: 0; padding: 0; border: 0; text-align: left; }
  .final-copy > p { justify-content: flex-start; font-size: 12px; }
  .final-copy h2 { font-size: 32px; }
  .final-contact { padding-left: 24px; border-left: 1px solid rgba(255,255,255,.28); }
  .final-contact > a { font-size: 32px; white-space: nowrap; }
}
@media (max-width: 720px) {
  .final-cta { padding: 48px 16px; }
  .final-action { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 16px; align-items: center; }
  .final-action .final-copy { min-width: 0; margin: 0; padding: 0; border: 0; text-align: left; }
  .final-copy > p { justify-content: flex-start; gap: 6px; font-size: 10px; line-height: 1.6; }
  .final-copy > p span { flex-basis: 18px; width: 18px; }
  .final-copy h2 { font-size: clamp(22px,6vw,32px); margin-top: 12px; line-height: 1.3; word-break: keep-all; }
  .final-copy-note { margin-top: 16px; font-size: 14px; line-height: 1.6; word-break: keep-all; }
  .final-contact { padding-left: 12px; border-left: 1px solid rgba(255,255,255,.28); }
  .final-contact > span { font-size: 12px; }
  .final-contact > a { margin: 8px 0 20px; font-size: clamp(17px,4.7vw,26px); white-space: nowrap; }
  .final-contact > a b { font-size: 11px; }
  .final-contact > small { padding-top: 14px; margin-bottom: 10px; font-size: 12px; }
  .final-chat-buttons { width: 100%; flex-direction: column; gap: 8px; }
  .final-chat-buttons a { display: flex; align-items: center; justify-content: center; min-height: 40px; padding: 9px 5px; font-size: 10px; }
}
