@charset "utf-8";

/* 변호사 상세 - 기존 문정 디자인 체계에 맞춘 전용 스타일 */
.member-view-renewal {
    --member-navy:#092054;
    --member-deep:#06183e;
    --member-gold:#b59658;
    --member-line:#e1e4e9;
    --member-muted:#687080;
    color:#171717;
}
.member-view-renewal *,
.member-view-renewal *:before,
.member-view-renewal *:after {
    box-sizing:border-box;
}
body.member-reservation-active .floating-consult-bar,
body.member-reservation-active .quick-menu1 {
    display:none !important;
}

/* 1. 프로필 사진과 기본 정보 */
.member-profile-hero {
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,54%) minmax(0,46%);
    width:100vw;
    min-height:620px;
    margin-left:calc(50% - 50vw);
    padding-right:calc((100vw - 1200px) / 2);
    padding-left:calc((100vw - 1200px) / 2);
    overflow:hidden;
    background:#f4f6f8 url('/images/sub/member_view_bg.jpg') no-repeat center/cover;
}
.member-profile-photo {
    display:flex;
    align-items:flex-end;
    justify-content:center;
    min-width:0;
    min-height:620px;
    overflow:hidden;
}
.member-profile-photo img {
    display:block;
    width:100%;
    height:620px;
    object-fit:contain;
    object-position:center bottom;
}
.member-photo-placeholder {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    height:100%;
    color:#8b9099;
    font-size:18px;
}
.member-profile-copy {
    display:flex;
    align-items:flex-start;
    justify-content:center;
    flex-direction:column;
    min-width:0;
    padding:70px 30px 70px 70px;
}
.member-profile-role {
    display:inline-block;
    padding:7px 12px;
    background:var(--member-navy);
    color:#fff;
    font-size:14px;
    line-height:1;
}
.member-profile-copy h1 {
    margin-top:18px;
    color:#111;
    font-weight:400;
    font-size:26px;
    line-height:1.2;
}
.member-profile-copy h1 strong {
    margin-right:7px;
    font-weight:700;
    font-size:48px;
}
.member-profile-contact {
    display:flex;
    flex-wrap:wrap;
    gap:10px 28px;
    margin-top:34px;
}
.member-profile-contact div {
    display:flex;
    min-width:0;
    gap:8px;
}
.member-profile-contact dt {
    flex:0 0 auto;
    color:var(--member-navy);
    font-weight:700;
}
.member-profile-contact dd {
    min-width:0;
    margin:0;
    overflow-wrap:anywhere;
}
.member-profile-slogan {
    width:100%;
    margin-top:30px;
    padding-top:27px;
    border-top:1px solid rgba(9,32,84,.25);
}
.member-profile-slogan-mark {
    display:block;
    height:28px;
    color:var(--member-navy);
    font-family:Georgia,serif;
    font-size:58px;
    line-height:.8;
}
.member-profile-slogan p {
    margin:11px 0 0;
    color:var(--member-navy);
    font-size:18px;
    line-height:1.65;
    word-break:keep-all;
}
.member-profile-slogan p span {
    display:block;
}
.member-reservation-btn {
    display:inline-flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    min-width:205px;
    padding:16px 20px;
    background:var(--member-navy);
    color:#fff !important;
    font-weight:600;
    font-size:16px;
    line-height:1;
    transition:background-color .2s ease;
}
.member-reservation-btn:hover,
.member-reservation-btn:focus {
    background:var(--member-deep);
}
.member-reservation-btn.hero {
    margin-top:32px;
}

/* 상단 프로필 비주얼 */
.member-overview-head {
    display:grid;
    grid-template-columns:minmax(0,66%) minmax(430px,34%);
    align-items:stretch;
    gap:0;
    width:100vw;
    margin-left:calc(50% - 50vw);
    padding:112px max(30px, calc((100vw - 1652px) / 2)) 54px;
    border-bottom:1px solid #dfe2e7;
    background:#f4f6f8 url('/images/sub/member_view_bg.jpg') no-repeat center/cover;
}
.member-hero-primary {
    display:grid;
    grid-template-columns:minmax(330px,45%) minmax(0,55%);
    align-items:center;
    min-width:0;
    padding-right:12px;
    border-right:1px solid rgba(9,32,84,.18);
}
.member-overview-head .member-profile-copy {
    width:100%;
    max-width:430px;
    padding:20px 42px 20px 0;
}
.member-hero-primary .member-profile-gallery {
    min-width:0;
    padding:0 !important;
    border:0;
}
.member-hero-rail {
    display:block;
    min-width:0;
    padding-left:12px;
}
.member-hero-rail .member-overview-activities {
    min-width:0;
    padding:0 !important;
    margin-top:0;
    border-top:0;
}
.member-gallery-stage {
    position:relative;
    width:100%;
    height:auto;
    aspect-ratio:1 / 1;
    overflow:hidden;
    border:1px solid var(--member-line);
    background:#f3f4f6;
    touch-action:pan-y;
    user-select:none;
}
.member-gallery-slide {
    width:100%;
    height:100%;
}
.member-gallery-slide[hidden] {
    display:none;
}
.member-gallery-slide > img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center bottom;
    transition:opacity .25s ease;
}
.member-gallery-placeholder {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    width:100%;
    height:100%;
    padding:30px;
    color:#717783;
    text-align:center;
}
.member-gallery-placeholder img {
    width:110px;
    max-width:45%;
    height:auto;
    margin-bottom:24px;
    opacity:.38;
}
.member-gallery-arrow {
    position:absolute;
    z-index:2;
    top:50%;
    width:42px;
    height:42px;
    padding:0;
    transform:translateY(-50%);
    border:1px solid rgba(255,255,255,.75);
    background:rgba(9,32,84,.78);
    color:#fff;
    font-size:19px;
    cursor:pointer;
}
.member-gallery-arrow.prev { left:12px; }
.member-gallery-arrow.next { right:12px; }
.member-gallery-arrow:hover,
.member-gallery-arrow:focus { background:var(--member-navy); }
.member-gallery-thumbs {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:10px;
}
.member-gallery-thumb {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    height:72px;
    padding:0;
    overflow:hidden;
    border:1px solid #d9dde3;
    background:#f3f4f6;
    cursor:pointer;
}
.member-gallery-thumb.is-active {
    border:2px solid var(--member-navy);
}
.member-gallery-thumb img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
}
.member-gallery-thumb:not(.is-active) img { opacity:.66; }
.member-gallery-thumb.is-placeholder img {
    width:58%;
    height:58%;
    object-fit:contain;
    opacity:.25;
}
.member-hero-rail .member-section-title {
    margin-bottom:18px;
}
.member-hero-rail .member-section-title h2 {
    font-size:23px;
}
.member-overview-activities ul {
    max-height:320px;
    margin:0;
    padding:0;
    overflow-y:auto;
    border-top:2px solid var(--member-navy);
    list-style:none;
    overscroll-behavior:contain;
    scrollbar-color:var(--member-gold) #eef0f3;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
}
.member-overview-activities ul::-webkit-scrollbar {
    width:8px;
}
.member-overview-activities ul::-webkit-scrollbar-track {
    background:#eef0f3;
}
.member-overview-activities ul::-webkit-scrollbar-thumb {
    border:2px solid #eef0f3;
    border-radius:8px;
    background:var(--member-gold);
}
.member-overview-activities li {
    position:relative;
    padding:18px 8px 18px 22px;
    border-bottom:1px solid var(--member-line);
    color:#292929;
    font-size:16px;
    line-height:1.55;
    word-break:keep-all;
}
.member-overview-activities li:before {
    content:"";
    position:absolute;
    top:27px;
    left:6px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:var(--member-gold);
}
.member-consultation-panel {
    position:relative;
    isolation:isolate;
    min-width:0;
    margin-top:32px;
    padding:18px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.56);
    border-radius:14px;
    background:rgba(255,255,255,.38);
    box-shadow:0 14px 34px rgba(9,32,84,.06);
    -webkit-backdrop-filter:blur(10px);
    backdrop-filter:blur(10px);
}
.member-consultation-panel:before {
    content:"";
    position:absolute;
    z-index:0;
    inset:0;
    background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(224,231,242,.18));
    pointer-events:none;
}
.member-consultation-panel > * {
    position:relative;
    z-index:1;
}
.member-consultation-kicker {
    display:block;
    color:var(--member-gold);
    font-size:13px;
    font-weight:700;
    letter-spacing:.12em;
}
.member-consultation-copy h2 {
    position:relative;
    z-index:2;
    margin-top:9px;
    color:var(--member-navy);
    font-size:25px;
    line-height:1.35;
    word-break:keep-all;
}
.member-consultation-copy p {
    position:relative;
    z-index:2;
    max-width:310px;
    margin-top:15px;
    color:#263653;
    font-size:15px;
    line-height:1.55;
    word-break:keep-all;
}
.member-consultation-actions {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    margin-top:8px;
}
.member-consultation-action {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-width:0;
    min-height:104px;
    padding:14px 9px;
    border:1px solid rgba(255,255,255,.78);
    border-radius:9px;
    background:rgba(255,255,255,.8);
    color:var(--member-navy);
    text-align:left;
    text-decoration:none;
    cursor:pointer;
    transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
.member-consultation-action:hover,
.member-consultation-action:focus-visible {
    border-color:var(--member-navy);
    background:#f7f9fc;
    color:var(--member-navy);
    transform:translateY(-2px);
}
.member-consultation-action.phone {
    border-color:var(--member-navy);
    background:var(--member-navy);
    color:#fff;
}
.member-consultation-action.phone:hover,
.member-consultation-action.phone:focus-visible {
    border-color:var(--member-deep);
    background:var(--member-deep);
    color:#fff;
}
.member-consultation-action-icon {
    display:block;
    width:27px;
    height:27px;
    flex:none;
    margin:0;
}
.member-consultation-action-head {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    width:100%;
    min-height:29px;
    padding-left:14px;
}
.member-consultation-action-head strong {
    color:inherit;
    font-size:15px;
    line-height:1.3;
    word-break:keep-all;
}
.member-consultation-action > small {
    display:block;
    width:100%;
    text-align:center;
    color:inherit;
    font-size:13px;
    line-height:1.35;
    opacity:.78;
    word-break:keep-all;
}
.member-consultation-action-arrow {
    display:none;
}
.member-consultation-copy {
    position:relative;
    min-height:181px;
    padding:20px 18px;
    overflow:hidden;
    border-radius:10px;
    background:#fff;
}
.member-consultation-copy:before {
    content:"";
    position:absolute;
    z-index:0;
    top:0;
    right:0;
    width:57%;
    height:100%;
    background:url('/images/sub/sub_bg.png') no-repeat 70% 44%/cover;
    filter:grayscale(1) brightness(2.25) contrast(.58);
    opacity:.72;
    transform:scale(1.02);
}
.member-consultation-copy:after {
    content:"";
    position:absolute;
    z-index:1;
    inset:0;
    background:linear-gradient(90deg,#fff 0%,#fff 42%,rgba(255,255,255,.91) 55%,rgba(255,255,255,.18) 100%);
    pointer-events:none;
}
.member-consultation-copy .member-consultation-kicker {
    position:relative;
    z-index:2;
}
.member-consultation-reservation {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    min-height:64px;
    margin-top:20px;
    padding:14px 20px;
    border:1px solid var(--member-navy);
    border-radius:5px;
    background:rgba(255,255,255,.9);
    color:var(--member-navy);
    text-decoration:none;
    transition:background-color .2s ease,color .2s ease;
}
.member-consultation-reservation:hover,
.member-consultation-reservation:focus-visible {
    background:var(--member-navy);
    color:#fff;
}
.member-consultation-reservation strong {
    font-size:17px;
    line-height:1.3;
}
.member-consultation-reservation > span {
    font-size:23px;
    line-height:1;
}

/* 다른 변호사 바로가기 */
.member-lawyer-switcher {
    grid-column:1 / -1;
    min-width:0;
    margin-top:30px;
    padding-top:22px;
    border-top:1px solid rgba(9,32,84,.18);
}
.member-lawyer-switcher-heading {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:20px;
    margin-bottom:13px;
}
.member-lawyer-switcher-heading span {
    color:var(--member-gold);
    font-size:12px;
    font-weight:700;
    letter-spacing:.12em;
}
.member-lawyer-switcher-heading strong {
    color:var(--member-navy);
    font-size:17px;
}
.member-lawyer-switcher-links {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    align-items:stretch;
    border-top:1px solid var(--member-line);
    border-bottom:1px solid var(--member-line);
}
.member-lawyer-switcher-link,
.member-lawyer-switcher-directory {
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    min-height:76px;
    padding:13px 16px;
    color:var(--member-navy);
    transition:background-color .2s ease,color .2s ease;
}
.member-lawyer-switcher-link:hover,
.member-lawyer-switcher-link:focus-visible,
.member-lawyer-switcher-directory:hover,
.member-lawyer-switcher-directory:focus-visible {
    background:#f3f5f8;
}
.member-lawyer-switcher-link > span,
.member-lawyer-switcher-directory > span {
    color:var(--member-muted);
    font-size:11px;
    letter-spacing:.04em;
}
.member-lawyer-switcher-link strong,
.member-lawyer-switcher-directory strong {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:15px;
}
.member-lawyer-switcher-link.prev {
    border-right:1px solid var(--member-line);
}
.member-lawyer-switcher-link.next {
    border-left:1px solid var(--member-line);
    text-align:right;
}
.member-lawyer-switcher-directory {
    align-items:center;
    padding-right:24px;
    padding-left:24px;
    text-align:center;
    white-space:nowrap;
}

/* 2. 활동사항 */
.member-section-title {
    margin-bottom:27px;
}
.member-section-title > span,
.member-related-section > header span {
    display:block;
    margin-bottom:7px;
    color:var(--member-gold);
    font-size:13px;
    font-weight:700;
    letter-spacing:.12em;
}
.member-section-title h2,
.member-related-section > header h2 {
    color:#111;
    font-size:28px;
    line-height:1.25;
}
.member-empty-copy {
    padding:28px 0;
    border-top:2px solid var(--member-navy);
    border-bottom:1px solid var(--member-line);
    color:#888;
}

/* 중간 상담 유도 */
.member-reservation-band {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    margin-top:80px;
    padding:30px 36px;
    border-left:4px solid var(--member-navy);
    background:#f2f4f7;
}
.member-reservation-band strong {
    display:block;
    color:#111;
    font-size:21px;
}
.member-reservation-band p {
    margin-top:7px;
    color:var(--member-muted);
    font-size:15px;
}

/* 3. 성공사례, 고객후기, 영상 */
.member-related-section {
    min-width:0;
    padding-top:90px;
}
.member-related-section > header {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:20px;
    margin-bottom:30px;
}
.member-related-section > header > a {
    flex:0 0 auto;
    padding:8px 0;
    color:#555;
    font-size:14px;
}
.member-related-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px;
    min-width:0;
}
.member-related-card,
.member-video-card {
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    overflow:hidden;
    border:1px solid var(--member-line);
    background:#fff;
    text-align:left;
    transition:border-color .2s ease,box-shadow .2s ease;
}
.member-related-card:hover,
.member-related-card:focus,
.member-video-card:hover,
.member-video-card:focus {
    border-color:#bdc4cf;
    box-shadow:0 10px 24px rgba(9,32,84,.09);
}
.member-related-card .thumb,
.member-video-card .thumb {
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    aspect-ratio:16 / 10;
    overflow:hidden;
    background:#eef0f3;
    color:var(--member-navy);
    font-weight:700;
}
.member-related-card .thumb img,
.member-video-card .thumb img {
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
}
.member-related-card .copy,
.member-video-card .copy {
    display:block;
    padding:21px 22px 24px;
}
.member-related-card em,
.member-video-card em {
    display:block;
    margin-bottom:9px;
    color:var(--member-gold);
    font-style:normal;
    font-size:13px;
}
.member-related-card h3,
.member-video-card strong {
    display:block;
    min-height:52px;
    overflow-wrap:anywhere;
    color:#171717;
    font-size:18px;
    line-height:1.45;
    word-break:keep-all;
}
.member-related-card .copy > span {
    display:block;
    margin-top:18px;
    color:var(--member-navy);
    font-size:13px;
    font-weight:700;
}
.member-video-card {
    padding:0;
    cursor:pointer;
}
.member-video-card .thumb {
    aspect-ratio:16 / 9;
    background:var(--member-deep);
}
.member-video-card .thumb i {
    position:absolute;
    display:flex;
    align-items:center;
    justify-content:center;
    width:52px;
    height:52px;
    border-radius:50%;
    background:rgba(255,255,255,.94);
    color:var(--member-navy);
    font-style:normal;
}
.member-video-card small {
    display:block;
    margin-top:12px;
    color:#888;
}

/* 하단 상담 유도 */
.member-reservation-bottom {
    margin-top:90px;
    padding:52px 30px;
    background:var(--member-navy);
    color:#fff;
    text-align:center;
}
.member-reservation-bottom h2 {
    color:#fff;
    font-size:28px;
}
.member-reservation-bottom p {
    margin-top:10px;
    color:#d4dbea;
    font-size:15px;
}
.member-reservation-bottom .member-reservation-btn {
    margin-top:23px;
}
.member-reservation-btn.light {
    background:var(--member-gold);
}
.member-reservation-btn.light:hover,
.member-reservation-btn.light:focus {
    background:#a58447;
}
.member-mobile-reservation {
    display:none;
}

/* 영상 모달 */
.member-video-modal {
    position:fixed;
    z-index:10000;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(0,0,0,.75);
}
.member-video-modal[hidden] {
    display:none;
}
.member-video-modal .panel {
    position:relative;
    width:min(900px,100%);
}
.member-video-modal .close {
    position:absolute;
    top:-45px;
    right:0;
    border:0;
    background:transparent;
    color:#fff;
    font-size:34px;
}
.member-video-modal .frame {
    aspect-ratio:16 / 9;
    background:#000;
}
.member-video-modal iframe {
    width:100%;
    height:100%;
    border:0;
}
.member-phone-modal {
    position:fixed;
    z-index:10001;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(6,24,62,.68);
}
.member-phone-modal[hidden] {
    display:none;
}
.member-phone-modal-panel {
    position:relative;
    width:min(420px,100%);
    padding:34px 30px 30px;
    border:1px solid rgba(255,255,255,.4);
    background:#fff;
    box-shadow:0 22px 60px rgba(0,0,0,.22);
}
.member-phone-modal-close {
    position:absolute;
    top:12px;
    right:14px;
    width:32px;
    height:32px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--member-navy);
    font-size:28px;
    line-height:1;
    cursor:pointer;
}
.member-phone-modal-panel h2 {
    margin-top:11px;
    color:var(--member-navy);
    font-size:23px;
    line-height:1.35;
    word-break:keep-all;
}
.member-phone-modal-panel > p {
    margin-top:10px;
    color:var(--member-muted);
    font-size:14px;
    line-height:1.5;
}
.member-phone-options {
    display:grid;
    gap:9px;
    margin-top:23px;
}
.member-phone-options a {
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 17px;
    border:1px solid var(--member-line);
    color:var(--member-navy);
    text-decoration:none;
    transition:background-color .2s ease,border-color .2s ease;
}
.member-phone-options a:hover,
.member-phone-options a:focus-visible {
    border-color:var(--member-navy);
    background:#f5f7fa;
}
.member-phone-options a span,
.member-phone-options a strong {
    display:block;
}
.member-phone-option-copy {
    min-width:0;
    flex:1 1 auto;
    color:var(--member-muted);
    font-size:12px;
}
.member-phone-option-copy strong {
    margin-top:3px;
    color:var(--member-navy);
    font-size:17px;
    letter-spacing:.02em;
}
.member-phone-options a b {
    color:var(--member-navy);
    font-size:18px;
}
body.member-phone-modal-open {
    overflow:hidden;
}

@media screen and (max-width:1200px) {
    .member-profile-hero {
        padding-right:30px;
        padding-left:30px;
    }
    .member-overview-head {
        padding-right:30px;
        padding-left:30px;
    }
}

@media screen and (max-width:1100px) {
    .member-overview-head {
        grid-template-columns:minmax(0,1fr);
        gap:46px;
    }
    .member-hero-primary {
        grid-template-columns:minmax(330px,38%) minmax(0,62%);
        padding-right:0;
        border-right:0;
    }
    .member-hero-rail {
        display:block;
        padding:42px 0 0;
        border-top:1px solid rgba(9,32,84,.18);
    }
}

@media screen and (max-width:950px) {
    .member-profile-hero {
        grid-template-columns:minmax(0,52%) minmax(0,48%);
        min-height:540px;
    }
    .member-profile-photo {
        min-height:540px;
    }
    .member-profile-photo img {
        height:540px;
    }
    .member-profile-copy {
        padding:55px 25px 55px 38px;
    }
    .member-profile-copy h1 strong {
        font-size:39px;
    }
    .member-related-grid {
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media screen and (max-width:767px) {
    body.member-reservation-active {
        padding-bottom:68px;
    }
    body.member-reservation-active .floating-consult-bar {
        display:none !important;
    }
    .member-profile-hero {
        display:flex;
        flex-direction:column;
        min-height:0;
        padding-top:95px;
        padding-right:0;
        padding-left:0;
    }
    .member-profile-photo {
        order:1;
        width:100%;
        min-height:0;
        height:460px;
    }
    .member-profile-photo img {
        width:100%;
        height:100%;
        max-width:100%;
        object-fit:contain;
        object-position:center bottom;
    }
    .member-profile-copy {
        order:2;
        width:100%;
        padding:32px 20px 40px;
        background:rgba(255,255,255,.88);
    }
    .member-profile-copy h1 {
        margin-top:14px;
        font-size:19px;
    }
    .member-profile-copy h1 strong {
        font-size:34px;
    }
    .member-profile-contact {
        flex-direction:column;
        gap:7px;
        margin-top:22px;
        font-size:14px;
    }
    .member-reservation-btn.hero {
        display:none;
    }
    .member-overview-head {
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:42px;
        padding:105px 20px 38px;
    }
    .member-hero-primary {
        grid-template-columns:minmax(0,1fr);
    }
    .member-overview-head .member-profile-copy {
        order:initial;
        width:100%;
        max-width:none;
        padding:0;
        background:transparent;
    }
    .member-hero-primary .member-profile-gallery {
        margin-top:42px;
    }
    .member-hero-rail {
        display:block;
        padding-top:42px;
    }
    .member-hero-rail .member-overview-activities {
        margin-top:0;
        padding-top:0 !important;
        border-top:0;
    }
    .member-gallery-stage {
        height:430px;
        aspect-ratio:auto;
    }
    .member-gallery-image {
        object-fit:cover !important;
        object-position:center center;
    }
    .member-gallery-primary-image {
        object-position:center bottom;
        transform:scale(1.08);
        transform-origin:center bottom;
    }
    .member-lawyer-switcher {
        margin-top:24px;
        padding-top:20px;
    }
    .member-lawyer-switcher-heading {
        align-items:flex-start;
        flex-direction:column;
        gap:5px;
        margin-bottom:12px;
    }
    .member-lawyer-switcher-links {
        grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    }
    .member-lawyer-switcher-link,
    .member-lawyer-switcher-directory {
        min-height:68px;
        padding:11px 9px;
    }
    .member-lawyer-switcher-link strong,
    .member-lawyer-switcher-directory strong {
        font-size:14px;
    }
    .member-lawyer-switcher-directory {
        padding-right:12px;
        padding-left:12px;
    }
    .member-gallery-thumbs {
        gap:6px;
        margin-top:7px;
    }
    .member-gallery-thumb {
        height:72px;
    }
    .member-gallery-arrow {
        width:38px;
        height:38px;
    }
    .member-overview-activities li {
        padding:16px 8px 16px 22px;
        font-size:15px;
    }
    .member-overview-activities li:before {
        top:25px;
    }
    .member-section-title {
        margin-bottom:20px;
    }
    .member-section-title h2,
    .member-related-section > header h2 {
        font-size:23px;
    }
    .member-overview-activities ul {
        max-height:300px;
    }
    .member-profile-slogan {
        margin-top:25px;
        padding-top:22px;
    }
    .member-profile-slogan-mark {
        height:24px;
        font-size:49px;
    }
    .member-profile-slogan p {
        margin-top:9px;
        font-size:16px;
    }
    .member-consultation-panel {
        margin-top:28px;
        padding:14px;
    }
    .member-consultation-copy {
        min-height:164px;
        padding:20px 16px;
    }
    .member-consultation-copy h2 {
        font-size:21px;
    }
    .member-consultation-actions {
        grid-template-columns:minmax(0,1fr);
        gap:8px;
    }
    .member-consultation-action {
        min-height:0;
        padding:14px 15px;
    }
    .member-consultation-action-icon {
        width:25px;
        height:25px;
        margin:0;
    }
    .member-consultation-action-head {
        justify-content:center;
        padding-left:0;
    }
    .member-consultation-action-arrow {
        margin-top:0;
        margin-left:auto;
        padding-left:10px;
    }
    .member-consultation-reservation {
        min-height:54px;
        margin-top:10px;
        padding:13px 16px;
    }
    .member-consultation-reservation strong {
        font-size:16px;
    }
    .member-phone-modal-panel {
        padding:31px 22px 24px;
    }
    .member-related-section {
        padding-top:60px;
    }
    .member-related-section > header {
        align-items:flex-end;
        margin-bottom:22px;
    }
    .member-related-grid {
        grid-template-columns:minmax(0,1fr);
        gap:18px;
        width:100%;
        overflow:visible;
    }
    .member-related-card,
    .member-video-card {
        width:100%;
        min-width:0;
        max-width:100%;
    }
    .member-related-card .thumb,
    .member-video-card .thumb {
        width:100%;
        height:auto;
    }
    .member-related-card .thumb img,
    .member-video-card .thumb img {
        max-width:100%;
        object-fit:contain;
        object-position:center;
    }
    .member-related-card h3,
    .member-video-card strong {
        min-height:0;
        font-size:16px;
    }
    .member-reservation-bottom {
        margin-top:60px;
        padding:40px 20px;
    }
    .member-reservation-bottom h2 {
        font-size:23px;
    }
    .member-mobile-reservation {
        position:fixed;
        z-index:9999;
        right:0;
        bottom:0;
        left:0;
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:11px 16px max(11px,env(safe-area-inset-bottom));
        background:#071a43;
        color:#fff;
        box-shadow:0 -4px 15px rgba(0,0,0,.18);
    }
    .member-mobile-reservation a {
        padding:11px 18px;
        background:var(--member-gold);
        color:#fff;
        font-weight:700;
    }
}

@media screen and (max-width:420px) {
    .member-profile-photo {
        height:400px;
    }
    .member-profile-copy {
        padding-right:16px;
        padding-left:16px;
    }
    .member-profile-slogan p {
        font-size:15px;
    }
    .member-related-section > header > a {
        font-size:12px;
    }
    .member-related-card .copy,
    .member-video-card .copy {
        padding:18px;
    }
}

@media (prefers-reduced-motion:reduce) {
    .member-reservation-btn,
    .member-related-card,
    .member-video-card {
        transition:none;
    }
}
