/* Final typography sizes and matching header wordmark. */
header .brand{--wordmark-size:30px;--brand-gap:9px;gap:var(--brand-gap)}
header .brand strong,header .brand small{font-size:var(--wordmark-size);font-weight:800;line-height:1.15;letter-spacing:0}
.hero-emblem{width:min(57vw,570px)}
.hero .eyebrow{font-size:19px;margin-left:0;padding-left:0;text-indent:0;text-align:left}
.hero h1{font-size:clamp(40px,4vw,64px);line-height:1.5;margin-bottom:26px}
.hero .actions{gap:30px;flex-wrap:nowrap}
.hero .actions .btn,.hero .actions .btn:hover{font-size:clamp(26px,2.6vw,36px);color:#237a3b;white-space:nowrap;gap:12px;font-weight:800}
.hero .actions .btn svg{display:block;width:25px;height:25px;flex-shrink:0}
.hero .hero-foot{font-size:clamp(12px,1.15vw,16.5px);letter-spacing:-.15px;color:#000;border:0;outline:0;background:transparent}
.trust-bar .wrap>span{color:#fff;font-weight:800}
.trust-bar .wrap>span+span{border-left:0}
.trust-bar .wrap b,.trust-bar .wrap .consult-accent{color:#fff;font-weight:800;font-size:inherit}
.trust-bar .wrap>span+span:before{color:#fff;font-weight:400}
.quick-menu a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:98px;padding:22px 7px;font-size:16px;font-weight:800}
.quick-menu a:first-child{min-height:104px;color:#c82026;font-size:20px}
.quick-menu img{width:31px;height:31px;object-fit:contain;display:block;margin-bottom:8px}
.quick-menu .top-link{min-height:80px;flex-direction:row;gap:4px;font-size:14px}
.quick-menu .top-link svg{width:18px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media(min-width:1101px) and (max-width:1199px){header .brand{--wordmark-size:25px}}
@media(max-width:1100px){.hero h1{font-size:38px}.hero .hero-foot{font-size:12px}.hero .actions{gap:24px}.hero .actions .btn,.hero .actions .btn:hover{font-size:20px;gap:9px}.hero .actions .btn svg{width:22px}}
@media(max-width:900px){.hero h1{font-size:35px}.hero .actions{gap:18px}.hero .actions .btn,.hero .actions .btn:hover{font-size:18px;gap:7px}.hero .hero-foot{font-size:11px}}
@media(max-width:700px){header .brand{--wordmark-size:25px}.hero .eyebrow{font-size:13px}.hero h1{font-size:clamp(30px,7.2vw,38px)}.hero-emblem{width:93.75%}.hero .actions .btn,.hero .actions .btn:hover{font-size:20px}.hero .actions{gap:24px}.hero .hero-foot{font-size:clamp(6px,1.9vw,12px)}}
@media(max-width:450px){header .brand{--wordmark-size:21px}.hero .eyebrow{font-size:12px}.hero .actions{gap:16px}.hero .actions .btn,.hero .actions .btn:hover{font-size:17px;gap:6px}.hero .actions .btn svg{width:19px}.hero .hero-foot{font-size:clamp(6px,1.85vw,9px)}}

/* Requested colour, alignment and portrait updates. */
.hero .hero-description{color:#000;font-size:20px}
.hero .actions{border:0;outline:0;background:transparent;box-shadow:none}
.hero .eyebrow{border:0;outline:0;background:transparent}
header nav a{font-size:17px}
.quick-menu{top:32vh}
.portrait img{object-fit:cover;object-position:center bottom}
@media(min-width:1101px) and (max-width:1199px){header nav a{font-size:14px}}
@media(max-width:1100px){.hero .hero-foot{font-size:13px}}
@media(max-width:900px){.hero .hero-foot{font-size:12px}}
@media(max-width:700px){.hero .eyebrow{font-size:14px}header nav a{font-size:13px}.hero .hero-foot{font-size:clamp(6px,2vw,13px)}}
@media(max-width:450px){.hero .eyebrow{font-size:13px}.hero .hero-foot{font-size:clamp(6px,1.95vw,10px)}}


.hero-visual{margin-bottom:120px}.portrait-caption{top:calc(100% + 14px);bottom:auto}


/* Contact icon and final brand-colour accents. */
header .header-phone{display:inline-flex;flex-direction:row;align-items:center;gap:8px;color:#c82026}
.header-phone svg{width:25px;height:25px;flex-shrink:0;fill:currentColor;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round}
.portrait-caption .caption-emphasis{color:var(--gold);font-weight:700}
.quick-menu .top-link,.quick-menu .top-link:hover{background:#f2e4cb;color:#000}
.trust-bar .wrap>span:first-child b{color:#fff;margin-right:0}
.trust-bar .wrap>span:last-child a,.trust-bar .wrap .consult-accent{color:#fff}
@media(max-width:1100px){.hero h1{font-size:39px}.hero .hero-foot{font-size:13.4px}.hero .actions .btn,.hero .actions .btn:hover{font-size:21px}}
@media(max-width:900px){.hero h1{font-size:36px}.hero .hero-foot{font-size:12.3px}.hero .actions .btn,.hero .actions .btn:hover{font-size:19px}}
@media(max-width:700px){.header-phone{gap:4px}.header-phone svg{width:18px;height:18px}.hero .eyebrow{font-size:14.5px}.hero h1{font-size:clamp(31px,7.4vw,39px)}.hero .hero-description{font-size:16px}.hero .actions .btn,.hero .actions .btn:hover{font-size:21px}.hero .hero-foot{font-size:clamp(6px,2.05vw,13.3px)}}
@media(max-width:450px){.header-phone svg{width:15px;height:15px}.hero .eyebrow{font-size:13.5px}.hero .actions .btn,.hero .actions .btn:hover{font-size:17.5px}.hero .hero-foot{font-size:clamp(6px,2vw,10.3px)}}


/* Larger hero copy and fully white trust-strip lettering. */
.trust-bar .wrap>span{font-size:clamp(21px,2.15vw,31.5px);color:#fff;padding:0 16px}
@media(max-width:1100px){.hero h1{font-size:40px}.hero .hero-foot{font-size:13.8px}.hero .actions .btn,.hero .actions .btn:hover{font-size:22px}.trust-bar .wrap>span{font-size:20px;padding:0 16px}}
@media(max-width:900px){.hero h1{font-size:37px}.hero .hero-foot{font-size:12.6px}.hero .actions .btn,.hero .actions .btn:hover{font-size:20px}.trust-bar .wrap>span{font-size:19px}}
@media(max-width:700px){.hero .eyebrow{font-size:15px}.hero h1{font-size:clamp(32px,7.6vw,40px)}.hero .hero-description{font-size:17px}.hero .actions .btn,.hero .actions .btn:hover{font-size:22px}.hero .hero-foot{font-size:clamp(6px,2.1vw,13.6px)}.trust-bar .wrap>span{font-size:17px}}
@media(max-width:450px){.hero .eyebrow{font-size:14px}.hero .actions .btn,.hero .actions .btn:hover{font-size:18px}.hero .hero-foot{font-size:clamp(6px,2.05vw,10.6px)}.trust-bar .wrap>span{font-size:15px}}

/* More prominent consultation and approval-case links. */
@media(max-width:1100px){.hero .actions .btn,.hero .actions .btn:hover{font-size:24px}}
@media(max-width:900px){.hero .actions .btn,.hero .actions .btn:hover{font-size:22px}}
@media(max-width:700px){.hero .actions .btn,.hero .actions .btn:hover{font-size:24px}}
@media(max-width:450px){.hero .actions .btn,.hero .actions .btn:hover{font-size:19.5px}}


/* Match the two header gaps and enlarge the trust-strip text. */
header .brand>span{gap:var(--brand-gap)}
@media(max-width:1100px){.trust-bar .wrap>span{font-size:22px;padding:0 12px}}
@media(max-width:900px){.trust-bar .wrap>span{font-size:21px}}
@media(max-width:700px){.trust-bar .wrap>span{font-size:18px;padding:0 9px}}
@media(max-width:450px){.trust-bar .wrap>span{font-size:16px}}


/* Refined portrait-caption proportions. */
.portrait-caption{right:32px}
.portrait-caption>span{font-size:16px}
.portrait-caption .portrait-name small{font-size:17px}
.portrait-name>img{width:86px;height:38px}
@media(max-width:700px){.portrait-caption{right:24px}}



/* Final wording and spacing refinements. */
@media(min-width:1101px){header nav{left:calc(50% + 20px)}}
@media(max-width:1100px){.hero .hero-foot{font-size:14px}.trust-bar .wrap>span{font-size:23px}}
@media(max-width:900px){.hero .hero-foot{font-size:12.9px}.trust-bar .wrap>span{font-size:22px}}
@media(max-width:700px){.hero .hero-foot{font-size:clamp(6px,2.15vw,13.9px)}.trust-bar .wrap>span{font-size:19px}}
@media(max-width:450px){.hero .hero-foot{font-size:clamp(6px,2.1vw,10.9px)}.trust-bar .wrap>span{font-size:16.5px}}

/* A single-line pledge and horizontal map button. */
.profile-sign{white-space:nowrap;font-size:clamp(14px,1.3vw,18px)}
.map-link{flex-direction:row;gap:7px;white-space:nowrap}
@media(max-width:600px){.profile-sign{font-size:clamp(11px,3vw,16px)}}

/* Equal padding on both sides of each trust-bar separator. */
.trust-bar .wrap>span{padding:0 20px}
.trust-bar .wrap>span+span:before{content:"";position:absolute;left:0;top:50%;width:1px;height:1em;transform:translateY(-50%);background:#fff;border:0}
/* Sparse categories use larger cards without empty grid columns. */
.case-carousel .case-grid.expanded-cases{grid-template-columns:repeat(3,minmax(0,1fr));min-height:0}
.case-grid.expanded-cases .case-card{min-height:380px;padding:30px}
.case-carousel .case-grid.expanded-cases[data-visible-count="1"]{grid-template-columns:50%}
.case-grid.expanded-cases[data-visible-count="1"] .case-card{min-height:520px;padding:40px}
.case-grid.expanded-cases[data-visible-count="1"] .case-card h3{font-size:clamp(24px,2.2vw,32px)}
.case-grid.expanded-cases[data-visible-count="1"] .case-card p{font-size:17px;max-width:800px}
@media(max-width:1100px){.trust-bar .wrap>span{padding:0 16px}}
@media(max-width:900px){.trust-bar .wrap>span:last-child:before{display:none}.case-carousel .case-grid.expanded-cases{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.trust-bar .wrap>span{padding:0 9px}}
@media(max-width:600px){.case-carousel .case-grid.expanded-cases{grid-template-columns:1fr}.case-grid.expanded-cases .case-card{min-height:330px;padding:24px}.case-grid.expanded-cases[data-visible-count="1"] .case-card{min-height:400px;padding:24px}.case-grid.expanded-cases[data-visible-count="1"] .case-card h3{font-size:24px}.case-grid.expanded-cases[data-visible-count="1"] .case-card p{font-size:16px}}
@media(max-width:600px){.case-carousel .case-grid.expanded-cases[data-visible-count="1"]{grid-template-columns:1fr}}

/* Latest editorial and brand refinements. */
.logo-color{color:var(--gold)}
.hero .actions .btn,.hero .actions .btn:hover{color:#145b2e;font-size:clamp(30px,2.85vw,41px)}
.hero .eyebrow{position:relative;isolation:isolate}
.hero .eyebrow:before{content:"";position:absolute;z-index:-1;left:140px;top:50%;transform:translateY(-50%);width:110px;height:110px;background:url('assets/onhim-logo.png') center/contain no-repeat;opacity:.1;pointer-events:none}
.about-copy .logo-color{display:inline}
.profile-body{display:grid;grid-template-columns:minmax(0,1fr) 38%;gap:18px;align-items:center}
.profile-body ul{margin:0;min-width:0}
.seated-profile{display:block;width:100%;height:320px;object-fit:contain;object-position:center bottom}
.profile-sign{font-size:clamp(12px,1.05vw,16px)}
.contact-section h2{font-size:clamp(38px,3vw,46px)}
.contact-section .contact-grid>div:first-child>p{font-size:20px;line-height:1.85}
.contact-section .contact-number{font-size:clamp(42px,3.7vw,58px);font-weight:800;color:#c82026;margin:30px 0}
.contact-section .actions .btn{font-size:18px;padding:17px 22px;gap:10px}
.contact-section .actions .kakao-logo{width:34px;height:34px}
.contact-section .dark-outline{background:#03c75a;border-color:#03c75a;color:#fff}
.contact-section .dark-outline:hover{background:#02ad4e;border-color:#02ad4e;color:#fff}
.contact-section .visit-panel{background:#eee0cc;border-color:#d7c5aa}
.visit-panel .visit-row{border-color:#d1bea3}
footer .brand strong,footer .brand small{font-size:28px;font-weight:800;line-height:1.2;letter-spacing:0;margin:0}
footer .brand>span{gap:8px}
.footer-top>p{font-size:17px;max-width:340px}
.case-carousel .case-grid.half-width-cases{display:block;min-height:0}
.case-grid.half-width-cases .case-card:not([hidden]){width:50%;min-width:0;max-width:50%}
@media(max-width:1100px){.hero .actions .btn,.hero .actions .btn:hover{font-size:28px}.contact-section .actions .btn{font-size:17px;padding:15px 18px}}
@media(max-width:900px){.hero .actions .btn,.hero .actions .btn:hover{font-size:26px}.seated-profile{height:330px}.profile-sign{font-size:16px}.footer-top>p{display:block}}
@media(max-width:700px){.hero .actions .btn,.hero .actions .btn:hover{font-size:26px}.hero .eyebrow:before{left:115px;width:90px;height:90px}.contact-section h2{font-size:35px}.contact-section .contact-grid>div:first-child>p{font-size:18px}footer .brand strong,footer .brand small{font-size:23px}.footer-top>p{font-size:16px;max-width:none}}
@media(max-width:600px){.case-grid.half-width-cases .case-card:not([hidden]){width:100%;max-width:100%}.profile-body{grid-template-columns:minmax(0,1fr) 34%;gap:12px}.seated-profile{height:280px}.profile-sign{font-size:clamp(9px,2.7vw,14px)}.contact-section .contact-number{font-size:clamp(36px,9vw,48px)}.contact-section .actions .btn{font-size:16px}.hero .actions{gap:20px}.hero .actions .btn,.hero .actions .btn:hover{font-size:clamp(20px,5.3vw,26px)}footer .brand strong,footer .brand small{font-size:22px}.stories-section h2{font-size:26px}}
.profile-body .seated-profile{height:auto;max-height:330px}

/* Refine proportions, keeping the profile photo prominent. */
.hero .eyebrow:before{display:none}
.hero .actions .btn,.hero .actions .btn:hover{font-size:clamp(28.5px,2.7vw,39px)}
.about-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:48px}
.profile-body{grid-template-columns:minmax(0,1fr) 44%;gap:18px}
.profile-body .seated-profile{max-height:400px}
.profile-sign{font-size:clamp(14px,1.35vw,19px)}
.contact-section .contact-number{color:#fff;margin-left:16px}
@media(max-width:1100px){.hero .actions .btn,.hero .actions .btn:hover{font-size:26.5px}.about-section{gap:32px}}
@media(max-width:900px){.about-section{grid-template-columns:1fr;gap:35px}.profile-body .seated-profile{max-height:400px}.profile-sign{font-size:18px}.hero .actions .btn,.hero .actions .btn:hover{font-size:24.5px}}
@media(max-width:700px){.hero .actions .btn,.hero .actions .btn:hover{font-size:24.5px}}
@media(max-width:600px){.hero .actions .btn,.hero .actions .btn:hover{font-size:clamp(19px,5.05vw,24.5px)}.profile-body{grid-template-columns:minmax(0,1fr) 42%;gap:12px}.profile-sign{font-size:clamp(10px,2.85vw,15px)}.profile-panel{padding:24px 20px}.contact-section .contact-number{margin-left:12px}}
/* Place credentials directly under the name and grow the seated portrait. */
.about-section{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:40px}
.profile-panel{display:grid;grid-template-columns:minmax(0,1fr) 52%;column-gap:18px;align-content:start}
.profile-panel>.profile-label{grid-column:1;grid-row:1}
.profile-panel>h3{grid-column:1;grid-row:2}
.profile-body{display:contents}
.profile-body>ul{grid-column:1;grid-row:3;align-self:start}
.profile-body .seated-profile{grid-column:2;grid-row:1 / span 3;align-self:center;width:100%;height:auto;max-height:460px}
.profile-panel>.profile-sign{grid-column:1 / -1;grid-row:4}
.case-card .case-top .tag{font-size:14.5px}
.case-card .case-result b,.case-card .case-result b span{color:#145b2e}
.contact-section .visit-panel .visit-btn,.contact-section .visit-panel .visit-btn:hover{border:0}
.visit-panel .map-link,.visit-panel .map-link:hover{border:0;min-height:68px;padding:18px 10px}
.visit-panel .visit-row>span{font-weight:700;color:#33383d}
.contact-section .visit-panel>.profile-label{font-size:15px}
.contact-section h2{line-height:1.65}
.contact-section .contact-number{margin-left:0}
.contact-section .actions .kakao-logo{width:40px;height:40px}
.contact-section .actions .naver-logo{width:28px;height:28px}
@media(max-width:900px){.about-section{grid-template-columns:1fr;gap:35px}.profile-panel{grid-template-columns:minmax(0,1fr) 48%}.profile-body .seated-profile{max-height:440px}}
@media(max-width:600px){.profile-panel{grid-template-columns:minmax(0,1fr) 44%;column-gap:12px}.profile-panel>h3{font-size:28px;margin-bottom:18px}.profile-panel>h3>span{display:block;margin:4px 0 0;font-size:14px}.profile-body .seated-profile{max-height:360px}.contact-section .contact-number{margin-left:0}}
/* Keep the name and experience together, independent of portrait height. */
.about-section{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:40px}
.profile-panel{grid-template-columns:minmax(0,1fr) 56%;grid-template-rows:max-content max-content minmax(0,1fr) max-content}
.profile-panel>h3{margin:8px 0 10px}
.profile-body .seated-profile{max-height:560px}
.about-title h2{line-height:1.65}
.about-title .about-copy{line-height:2}
.about-copy>span+span{margin-top:26px}
@media(max-width:900px){.about-section{grid-template-columns:1fr;gap:35px}.profile-panel{grid-template-columns:minmax(0,1fr) 50%}.profile-body .seated-profile{max-height:520px}}
@media(max-width:600px){.profile-panel{grid-template-columns:minmax(0,1fr) 48%}.profile-body .seated-profile{max-height:400px}.profile-panel>h3{margin:8px 0 10px}.about-copy>span+span{margin-top:22px}}

/* Adjust the requested spacing and consultation label. */
.profile-panel{border-top:0}
.profile-panel>h3{margin-top:24px}
.about-title>.text-link{display:inline-block;margin-top:16px}
.footer-info{margin-top:14px}
.contact-section .visit-panel .visit-btn{font-size:17px}

/* Lower the profile text and make case filters easier to read. */
.profile-panel>h3{margin-top:40px}
.profile-body>ul{margin-top:26px}
.filters{flex-wrap:wrap}
.filters button{padding:9px 28px;font-size:16px;font-weight:600}
@media(max-width:600px){.filters button{padding:8px 20px;font-size:14px}}

/* Give the updated credentials a little more room below the office label. */
.profile-panel>.profile-label{font-size:16px}
.profile-panel>h3{margin-top:52px}
.profile-body>ul{margin-top:34px}

/* Improve readability of credentials, directions, and office details. */
.profile-panel li{font-size:15px;line-height:1.8;padding-top:7px;padding-bottom:7px}
.visit-panel .map-link{font-size:15px}
.footer-info{font-size:14px}

/* Add the office mark and enlarge the visit guidance. */
.visit-panel .visit-office-name{display:flex;align-items:center;gap:10px}
.visit-office-name>img{display:block;width:38px;height:38px;object-fit:contain;flex-shrink:0}
.visit-office-name>span{min-width:0}
.visit-panel .visit-row,.contact-section .visit-panel .visit-row p{font-size:16px}
@media(max-width:600px){.visit-panel .visit-row{grid-template-columns:76px minmax(0,1fr);gap:8px}.visit-panel .visit-office-name{font-size:23px}.visit-office-name>img{width:34px;height:34px}}

.visit-panel .visit-office-name{margin-top:24px}
.contact-section .visit-panel>.profile-label{font-size:17px;font-weight:700;color:#33383d}

.profile-panel>.profile-office-brand{display:flex;align-items:center;gap:8px;letter-spacing:0}
.profile-office-brand>img{display:block;width:28px;height:28px;object-fit:contain;flex-shrink:0}
.profile-office-brand>span{min-width:0}
.profile-panel .unbroken-title{white-space:nowrap}
.hero .actions .btn,.hero .actions .btn:hover{color:#196334}

/* A quiet professional emblem in the open space below the introduction. */
.about-title{position:relative;isolation:isolate}
.about-title>.about-emblem{position:absolute;right:0;bottom:0;width:86%;max-width:380px;height:300px;object-fit:contain;opacity:.09;pointer-events:none;z-index:-1}
@media(max-width:900px){.about-title>.about-emblem{position:static;display:block;width:75%;height:253px;margin:24px 0 0 auto}}

@media(min-width:901px){.about-title>.about-emblem{right:-60px}}
