/* Shared rounded box treatment */
.btn,.navcall,.header-phone,.write-link,.send-review,.filters button,button.consult-submit,.consult-result-link{border-radius:9px!important}
.form,.service,.profile,.why-grid>div,.review-teaser,.empty-review,.case-card,.template-notice,.review-policy,.consult-kind,.consult-copy,.case-result,.dialog-result{border-radius:12px!important}
input:not([type=radio]):not([type=checkbox]),select,textarea,.consult-input{border-radius:7px!important}
.nav-dropdown,.registration-badge,.case-tag{border-radius:8px!important}
dialog.consult-dialog,dialog.case-dialog{border-radius:16px!important;overflow:hidden auto}
.consult-head{border-radius:16px 16px 0 0!important}
.hero-photo img,.photo-caption{border-radius:12px!important}

/* Include the main page panels and their higher-specificity overrides. */
main .feature-hero,main .feature-hero::before,main .feature-hero::after,
#about.about,.why-grid article,.review-hero,.review-cta,.case-cta,.cases-head,
.hero-principles,.visual,.portrait,.strip,.review-toolbar,.consent{border-radius:16px!important}
.feature-hero,.about,.review-hero,.review-cta,.case-cta,.cases-head,.why-grid article{overflow:hidden}
.feature-hero .actions>.btn,header .navcall,.header-actions .header-phone,
.hero-copy .hero-registration,.photo-caption .registration-badge,#about .registration-badge{border-radius:10px!important}
.nav-dropdown a,.mobilebar,.mobilebar a,.right-card-mark,.card-logo-window{border-radius:8px!important}
.consult-dialog .consult-kind,.consult-dialog .consult-copy,.consult-dialog .consult-input,
.consult-dialog .consult-submit,.consult-dialog .consult-result-link{border-radius:9px!important}
/* Hero practice areas share the consultation buttons' frame and total width. */
.feature-hero .hero-principles,.feature-hero .actions{width:100%;max-width:500px;box-sizing:border-box;gap:12px}
.feature-hero .hero-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:28px 0;border-radius:0!important;overflow:visible}
.feature-hero .hero-principles>div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:68px;padding:10px 6px;box-sizing:border-box;border:1px solid #91abc6;background:#152c4540;border-radius:10px!important;text-align:center}
.feature-hero .hero-principles b{font-size:18px;line-height:1.4;color:#fff;white-space:nowrap}
.feature-hero .hero-principles span{font-size:10px;line-height:1.5;color:#e0eaf4;word-break:keep-all}
@media(max-width:600px){.feature-hero .hero-principles,.feature-hero .actions{gap:8px}.feature-hero .hero-principles b{font-size:16px}.feature-hero .hero-principles span{font-size:9px}}
/* Match the space between hero rows to the horizontal box gap. */
.feature-hero .hero-principles{margin-bottom:0}
.feature-hero .hero-principles+.actions{margin-top:12px}
@media(max-width:600px){.feature-hero .hero-principles+.actions{margin-top:8px}}
/* Increase separation between hero copy and the five-box group by 20%. */
.feature-hero .hero-principles{margin-top:33.6px}

/* Align the consultation group and representative caption on one lower edge. */
@media(min-width:901px){
.feature-hero{--hero-bottom:38px}
.feature-hero .hero-copy{display:flex;flex-direction:column;box-sizing:border-box;min-height:inherit;padding-bottom:var(--hero-bottom)}
.feature-hero .hero-controls{margin-top:auto;padding-top:33.6px;width:100%;max-width:500px}
.feature-hero .hero-controls .hero-principles{margin-top:0}
.feature-hero .hero-controls .hero-footnote{margin-bottom:0}
.feature-hero .photo-caption{bottom:var(--hero-bottom)}
}

/* Representative lockup: name and two aligned lines beneath the face. */
.feature-hero .photo-caption{left:78%;right:auto;transform:translateX(-50%);width:max-content;max-width:40%;padding:0}
.feature-hero .photo-caption .representative-line{display:flex;align-items:flex-start;flex-wrap:nowrap;gap:12px}
.feature-hero .photo-caption .representative-line strong{font-size:26.7px;line-height:1;margin:0;letter-spacing:0;white-space:nowrap}
.feature-hero .photo-caption .representative-details{display:flex;flex-direction:column;gap:5px;width:120px;padding:0}
.feature-hero .photo-caption .representative-brand{display:block;font-size:8.9px;line-height:1;letter-spacing:0;text-align:justify;text-align-last:justify;white-space:nowrap;color:#edf4fb}
.feature-hero .photo-caption .representative-title{display:block;font-size:12.46px;line-height:1;letter-spacing:0;text-align:justify;text-align-last:justify;white-space:nowrap;color:#fff}
@media(max-width:900px){.feature-hero .photo-caption{left:66%;max-width:85%}.feature-hero .photo-caption .representative-line strong{font-size:22.25px}.feature-hero .photo-caption .representative-details{width:107px;gap:4px}.feature-hero .photo-caption .representative-brand{font-size:8.01px}.feature-hero .photo-caption .representative-title{font-size:10.68px}}

.feature-hero .photo-caption .representative-brand,.feature-hero .photo-caption .representative-title{letter-spacing:0;word-spacing:0;text-align:left;text-align-last:left}
/* Keep the name's top edge fixed and extend its lettering downward by 10%. */
.feature-hero .photo-caption .representative-line strong{transform-origin:center top;transform:scaleY(1.1)}
/* Place the gap between the name and credentials over the tie. */
.feature-hero .photo-caption{left:calc(78% + 24px)}
@media(max-width:900px){.feature-hero .photo-caption{left:calc(66% + 20px)}}
/* Square hero canvas and logo; align the two wordmark lines with its top. */
main .feature-hero,main .feature-hero::before,main .feature-hero::after{border-radius:0!important}
header .office-brand,header .right-card-mark,header .right-card-mark img{border-radius:0!important}
header .office-brand{align-items:flex-start}
header .office-wordmark{display:block;line-height:1;padding:0;margin:0;text-align:left;text-indent:0}
header .office-wordmark small{display:block;padding:0;margin-left:0;margin-right:0;text-indent:0;text-align:left;line-height:1.2}
/* Move the name's final character onto the previous tie-center gap anchor. */
.feature-hero .photo-caption{left:calc(78% + 43.35px)}
@media(max-width:900px){.feature-hero .photo-caption{left:calc(66% + 37.125px)}}
/* Kakao consultation buttons. */
a[href="https://pf.kakao.com/_LUxemX/chat"]{background:#fee500!important;color:#191919!important;border:1px solid #fee500!important;font-weight:750}
a[href="https://pf.kakao.com/_LUxemX/chat"]:hover{background:#f3da00!important;border-color:#f3da00!important}
a[href="https://pf.kakao.com/_LUxemX/chat"]:focus-visible{outline:3px solid #191919;outline-offset:3px}

/* Proportionally enlarge the Korean name and align English with the logo base. */
header .office-wordmark{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;height:64px;font-size:40.5px;line-height:1;margin:0;padding:0}
header .office-wordmark .office-korean{display:block;font-size:inherit;line-height:1;letter-spacing:-2.4px;transform:none;margin:0;padding:0}
header .office-wordmark small{font-size:8px;line-height:1;margin:0;padding:0;text-indent:0;text-align:left;align-self:flex-start;letter-spacing:1.9px}
@media(min-width:1500px){header .office-wordmark{font-size:43.5px}}
@media(min-width:1401px){header{grid-template-columns:minmax(320px,1fr) minmax(560px,650px) minmax(250px,1fr)}}
@media(min-width:1101px) and (max-width:1400px){header{grid-template-columns:310px minmax(450px,1fr) 120px}}
@media(min-width:901px) and (max-width:1100px){header{grid-template-columns:310px minmax(450px,1fr)}}
@media(max-width:760px){header .office-wordmark{font-size:37.5px;height:55px}header .office-wordmark small{font-size:7px;letter-spacing:1.5px}}
/* Match the free-consultation frame to the three practice-area boxes. */
.feature-hero .actions>.gold{background:#152c4540;border-color:#91abc6;color:#fff}
.feature-hero .actions>.gold:hover{background:#152c4566;border-color:#91abc6;color:#fff}
/* Speech balloon beside Kakao consultation labels. */
a[href="https://pf.kakao.com/_LUxemX/chat"]{display:inline-flex;align-items:center;justify-content:center;gap:8px}
a[href="https://pf.kakao.com/_LUxemX/chat"]::before{content:"";display:inline-block;flex:0 0 21px;width:21px;height:21px;background:#191919;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C5.9 3 1 6.7 1 11.2c0 2.9 2 5.5 5.1 7L4.8 22l5-2.8c.7.1 1.5.2 2.2.2 6.1 0 11-3.7 11-8.2S18.1 3 12 3Z'/%3E%3C/svg%3E") center/contain no-repeat;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C5.9 3 1 6.7 1 11.2c0 2.9 2 5.5 5.1 7L4.8 22l5-2.8c.7.1 1.5.2 2.2.2 6.1 0 11-3.7 11-8.2S18.1 3 12 3Z'/%3E%3C/svg%3E") center/contain no-repeat}
/* Anchor the English wordmark to the logo's lower edge, with optical left alignment. */
header .office-brand{--wordmark-height:64px;align-items:flex-start}
header .right-card-mark{height:var(--wordmark-height)}
header .office-wordmark{position:relative;height:var(--wordmark-height);box-sizing:border-box}
header .office-wordmark small{position:absolute;left:1.5px;bottom:-1px;top:auto;display:block;margin:0;padding:0;line-height:1;white-space:nowrap;transform:none}
@media(max-width:760px){header .office-brand{--wordmark-height:55px}}
/* Reduce only the Korean company name proportionally to 85%. */
header .office-wordmark{font-size:34.425px}
header .office-wordmark .office-korean{letter-spacing:-2.04px}
@media(min-width:1500px){header .office-wordmark{font-size:36.975px}}
@media(max-width:760px){header .office-wordmark{font-size:31.875px}}

/* Lift and proportionally enlarge the header English name. */
header .office-wordmark small{font-size:12px;transform:translateY(-50%);transform-origin:left bottom;letter-spacing:2.85px}
@media(max-width:760px){header .office-wordmark small{font-size:10.5px;letter-spacing:2.25px}}
/* Scale the English wordmark around its existing lower-left anchor. */
header .office-wordmark small{transform:translateY(-50%) scale(.88);transform-origin:left bottom}
/* Optical S alignment with the left stem of the final consonant in 선. */
header .office-wordmark small{left:3.5px}
/* Gothic typography for displayed telephone numbers. */
a[href^="tel:"],.phone{font-family:'Malgun Gothic','Apple SD Gothic Neo','Noto Sans KR',Arial,sans-serif!important;font-style:normal;font-weight:700;font-variant-numeric:lining-nums tabular-nums}

/* Boxed edit action and native calendar/time controls. */
.consult-dialog #consult-edit{display:block;width:100%;box-sizing:border-box;margin-top:12px;padding:13px 16px;border:1px solid #91a7bd;border-radius:9px!important;background:#edf2f7;color:#243f5b;font-family:inherit;font-size:14px;font-weight:700;text-align:center;cursor:pointer}
.consult-dialog #consult-edit:hover{background:#dde7f0}
.consult-dialog .consult-input[type=date],.consult-dialog .consult-input[type=time]{min-width:0;min-height:39px;color-scheme:light;font-family:inherit}

.consult-dialog .consult-result-link{display:flex;width:100%;box-sizing:border-box;white-space:normal;text-align:center;line-height:1.5}
/* Square consultation shell and brand-gradient heading. */
dialog.consult-dialog,.consult-dialog .consult-head{border-radius:0!important}
.consult-dialog .consult-head{background:var(--sunwoo-gradient,linear-gradient(110deg,#18334f 0%,#345674 32%,#62839f 65%,#8eabc1 100%));color:#fff}

/* Representative website and partner dashboard links. */
.feature-hero .photo-caption .representative-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:10px;pointer-events:auto}
.feature-hero .photo-caption .representative-links a{font-family:inherit;font-size:11px;line-height:1.5;letter-spacing:0;color:#fff;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.feature-hero .photo-caption .representative-links a:hover{color:#dceaf7}
.feature-hero .photo-caption .representative-links a:focus-visible{outline:2px solid #fff;outline-offset:3px}

#about .company-website{margin:16px 0 0;font-size:15px;font-weight:600;line-height:1.6}#about .company-website a{color:#fff;text-decoration:underline;text-underline-offset:4px}

#about .profile .representative-title,#about .profile .profile-registration{font-family:inherit;font-size:14px;font-weight:600;line-height:1.6;color:#f0f5fa;letter-spacing:0}#about .profile .profile-registration{display:inline;background:none;border:0;padding:0;margin:0}#about .company-website{margin-top:12px}

.published-case-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.published-case-toolbar h2{font-size:26px;margin:0 0 10px}.published-case-toolbar p{color:#53667a;font-size:15px}.published-case-toolbar>span{white-space:nowrap;font-weight:700}.case-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}.case-filters button{border:1px solid #c5d3df;padding:10px 18px;color:#243f5b;font:inherit;font-weight:700;cursor:pointer}.case-filters button.selected{background:#243f5b;color:#fff}.case-card{display:flex;flex-direction:column;text-align:left}.case-card h2{line-height:1.5}.case-card .case-result{margin-top:auto}.case-dialog #case-body p{line-height:1.9}.case-dialog #case-body h3{margin-top:26px}.case-dialog #case-outcome{margin-top:25px}
