/* Attorney profile and consultation details. All editable copy lives in the CMS. */
.hero h1{white-space:pre-line;max-width:none;text-wrap:wrap}
.hero p{white-space:pre-line}
.hero h1 .gp-hero-emphasis{font-weight:900;color:#efd19d}
@media(max-width:360px){.hero h1{font-size:25px;letter-spacing:-.065em}}
#about .about-wrap{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center}
#about .about-img{width:100%;max-width:480px;margin-left:auto;aspect-ratio:auto;overflow:visible;border-radius:0;background:transparent}
#about .gp-attorney-photo{display:block;cursor:zoom-in}
#about .about-img img{display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;transform:none;transition:none}
#about .about-body{padding:0}
#about .about-body .sechead{margin-bottom:28px}
#about .about-body .big{max-width:none;margin:0;font-family:'NanumSquareNeo',system-ui,sans-serif;font-size:16px;font-weight:400;line-height:2;letter-spacing:-.045em;color:#43575c;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere}
#services .wrap{grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);align-items:start;gap:56px}
#services .sechead{padding-top:9px;margin:0}
#services .svc{display:block;border:0;min-width:0}
.gp-consult-list{list-style:none;margin:0;padding:0;border-top:1px solid #9fabaa}
.gp-consult-list li{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:18px;padding:27px 6px;border-bottom:1px solid #d5dbd6}
.gp-consult-check{display:block;color:#947442;font-size:21px;font-weight:500;line-height:1}
.gp-consult-list h3{margin:0;color:var(--ink);font-family:var(--gp-serif);font-size:23px;font-weight:600;line-height:1.6;letter-spacing:-.045em;word-break:keep-all;overflow-wrap:anywhere}
.gp-consult-fee{color:#677676;font-size:14px;font-weight:500;line-height:1.5;white-space:nowrap;padding-left:20px}
@media(max-width:1100px){
 #about .about-wrap{gap:38px}
 #about .about-body .big{font-size:15px;line-height:1.95;letter-spacing:-.04em}
 #about .about-body h2.sec{font-size:32px}
 #services .wrap{gap:40px}.gp-consult-list h3{font-size:21px}
}
@media(max-width:900px){
 #about .about-wrap{grid-template-columns:minmax(0,1fr);gap:38px}
 #about .about-img{margin-inline:auto}
 #about .about-body{max-width:none}#about .about-body .big{font-size:17px;line-height:2}
 #services .wrap{grid-template-columns:minmax(0,1fr);gap:28px}
 #services .sechead{padding:0}.gp-consult-list li{padding-block:25px}
}
@media(max-width:680px){
 #about .about-wrap{gap:30px}
 #about .about-body .sechead{margin-bottom:23px}#about .about-body h2.sec{font-size:29px}
 #about .about-body .big{font-size:15px;line-height:2;letter-spacing:-.045em}
 #services .wrap{gap:26px}
 .gp-consult-list li{grid-template-columns:18px minmax(0,1fr) auto;gap:10px;padding:22px 0}
 .gp-consult-check{font-size:18px}.gp-consult-list h3{font-size:18px;line-height:1.8}.gp-consult-fee{font-size:12px;padding-left:10px}
}
@media(max-width:360px){
 #about .about-body .big{font-size:14px}.gp-consult-list h3{font-size:16px}.gp-consult-list li{gap:8px}.gp-consult-fee{padding-left:6px}
}

.gp-strengths{background:var(--gp-deep);color:#fff}
.gp-strengths .sechead{margin-bottom:42px}
.gp-strengths .kicker{color:var(--gp-gold)}
.gp-strength-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px}
.gp-strength-list li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:22px;align-items:start;padding:30px 0;border-top:1px solid #456269;min-width:0}
.gp-strength-no{font-family:var(--gp-serif);font-size:18px;line-height:1.9;color:var(--gp-gold);letter-spacing:.025em}
.gp-strength-list p{margin:0;color:#eff3f1;font-size:18px;font-weight:500;line-height:1.9;letter-spacing:-.04em;word-break:keep-all;overflow-wrap:anywhere;white-space:pre-line}
.gp-faq{background:var(--bg2);border-top:1px solid #eeece5}
.gp-faq>.wrap{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:56px;align-items:start}
.gp-faq .sechead{margin:0;padding-top:8px}
.gp-faq-list{min-width:0;border-top:1px solid #9fabaa}
.gp-faq-item{border-bottom:1px solid #d5dbd6}
.gp-faq-item summary{display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:baseline;gap:14px;padding:26px 2px;cursor:pointer;list-style:none;color:var(--ink)}
.gp-faq-item summary::-webkit-details-marker{display:none}
.gp-faq-item summary::marker{content:''}
.gp-faq-item summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
.gp-faq-no{font-family:var(--gp-serif);font-size:17px;font-weight:600;line-height:1.8;color:var(--accent)}
.gp-faq-question{font-size:17px;font-weight:600;line-height:1.85;word-break:keep-all;overflow-wrap:anywhere}
.gp-faq-toggle{position:relative;display:block;width:16px;height:16px;align-self:center;justify-self:end;color:var(--gp-brand)}
.gp-faq-toggle::before,.gp-faq-toggle::after{content:'';position:absolute;left:0;top:7px;width:16px;height:1px;background:currentColor}
.gp-faq-toggle::after{transform:rotate(90deg)}
.gp-faq-item[open] .gp-faq-toggle::after{transform:rotate(0)}
.gp-faq-item[open] .gp-faq-question{color:var(--gp-brand)}
.gp-faq-answer{padding:0 36px 27px 46px;color:#52676c;font-size:15px;line-height:2;letter-spacing:-.025em}
.gp-faq-answer p{margin:0;white-space:pre-line;word-break:keep-all;overflow-wrap:anywhere}
footer .foot-meta.gp-footer-brand{display:flex;align-items:center;gap:12px;font-family:var(--gp-serif);font-size:22px;font-weight:700;letter-spacing:-.055em;line-height:1.4;margin-bottom:14px;color:#fff}
.brand.gp-footer-brand .gp-emblem{width:40px;height:40px;object-fit:contain;flex:none}
@media(max-width:1100px){
 .gp-strength-list{column-gap:40px}.gp-strength-list li{gap:16px}.gp-strength-list p{font-size:17px}
 .gp-faq>.wrap{gap:40px}
}
@media(max-width:900px){
 .gp-strength-list{column-gap:32px}.gp-strength-list li{grid-template-columns:30px minmax(0,1fr);gap:14px}
 .gp-faq>.wrap{grid-template-columns:minmax(0,1fr);gap:30px}.gp-faq .sechead{padding:0}
 footer .foot-meta.gp-footer-brand{font-size:20px;gap:9px}.brand.gp-footer-brand .gp-emblem{width:34px;height:34px}
}
@media(max-width:680px){
 .gp-strengths .sechead{margin-bottom:30px}.gp-strength-list{grid-template-columns:minmax(0,1fr);gap:0}
 .gp-strength-list li{padding-block:23px;grid-template-columns:30px minmax(0,1fr);gap:15px}.gp-strength-list p{font-size:16px;line-height:1.95}.gp-strength-no{font-size:16px}
 .gp-faq>.wrap{gap:26px}.gp-faq-item summary{grid-template-columns:27px minmax(0,1fr) 16px;gap:9px;padding:22px 0}.gp-faq-no{font-size:15px}.gp-faq-question{font-size:15px;line-height:1.9}
 .gp-faq-toggle{width:14px;height:14px}.gp-faq-toggle::before,.gp-faq-toggle::after{width:14px;top:6px}
 .gp-faq-answer{padding:0 21px 24px 36px;font-size:14px;line-height:1.95}
 footer .foot-meta.gp-footer-brand{font-size:19px;gap:8px}.brand.gp-footer-brand .gp-emblem{width:32px;height:32px}
}
@media(max-width:360px){
 .gp-strength-list p{font-size:15px}.gp-faq-question{font-size:14px}.gp-faq-answer{font-size:13px}
 footer .foot-meta.gp-footer-brand{font-size:17px}.brand.gp-footer-brand .gp-emblem{width:28px;height:28px}
}

/* Separate representative attorney profile, using the supplied complete artwork. */
.gp-attorney{background:#f6f1e8;border-top:1px solid #e7dfd1}
#about{background:#17383f;color:#f6f5ef}
#about .kicker{color:#d9bc87}
#about h2.sec{color:#f6f5ef}
#about .about-body .big{color:#d8e4e4}
.gp-attorney .sechead{text-align:center;margin-bottom:44px}
.gp-attorney-profile{display:block;width:100%;max-width:942px;margin:0 auto;cursor:zoom-in}
.gp-attorney-profile img{display:block;width:100%;height:auto;aspect-ratio:942/651;object-fit:contain}
@media(max-width:680px){.gp-attorney .sechead{margin-bottom:30px}}

/* Inside photographs: four per page; desktop 4 columns, tablet 2, phone 1. */
#gallery{padding-block:96px;background:#fff}
#gallery>.wrap{display:block}
#gallery .sechead{margin-bottom:38px}
#gallery .gal{display:grid;grid-template-columns:repeat(var(--gp-gallery-columns,4),minmax(0,1fr));gap:24px;align-items:start}
#gallery .gal .it{display:block;position:relative;min-width:0;aspect-ratio:auto;border-radius:0;background:transparent;overflow:visible;cursor:zoom-in}
#gallery .gal .it img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;object-position:center;transform:none;transition:none}
#gallery .gal .it:hover img{transform:none}
#gallery .gal .it:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
@media(max-width:900px){#gallery{padding-block:80px}#gallery .gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){#gallery{padding-block:64px}#gallery .sechead{margin-bottom:28px}#gallery .gal{grid-template-columns:minmax(0,1fr);gap:18px}}

/* Pagination preserves the original photo proportions on every page. */
#gallery .gal .it[hidden]{display:none!important}
.js #gallery .gal[data-page-size="4"]:not([data-pager-ready]) .gp-office-photo:nth-child(n+5){display:none}
.gp-gallery-pages{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:32px}
.gp-gallery-pages[hidden]{display:none}
.gp-gallery-pages button{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:44px;padding:9px 13px;border:1px solid #d5dcda;border-radius:0;background:#fff;color:var(--ink);font:inherit;font-size:13px;line-height:1.4;cursor:pointer}
.gp-gallery-pages button:hover:not(:disabled){border-color:var(--gp-brand);color:var(--gp-brand)}
.gp-gallery-pages button[aria-current="page"]{background:var(--gp-brand);border-color:var(--gp-brand);color:#fff}
.gp-gallery-pages button[aria-current="page"]:hover{color:#fff}
.gp-gallery-pages button:disabled{opacity:.4;cursor:default}
.gp-gallery-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){.gp-gallery-pages{margin-top:26px;gap:7px}.gp-gallery-pages button{min-width:40px;padding-inline:11px;font-size:12px}}

/* Match photo 4 to the first three without cropping or altering the image file. */
#gallery .gal .it[data-image-fit="4:3"] img{width:100%;height:auto;aspect-ratio:4/3;object-fit:fill}

/* CMS-controlled details and responsive safeguards. */
.hero h1 .gp-hero-emphasis{color:var(--gp-emphasis-color,#efd19d)}
.gp-attorney{background:var(--gp-section-bg,#f6f1e8);color:var(--gp-section-ink,#17383f)}
.gp-attorney h2.sec{color:var(--gp-section-ink,#17383f)}
#about{background:var(--gp-section-bg,#17383f);color:var(--gp-section-ink,#f6f5ef)}
#about h2.sec{color:var(--gp-section-ink,#f6f5ef)}
#about .about-body .big{color:var(--gp-section-body,#d8e4e4)}
#about .kicker{color:var(--gp-section-accent,#d9bc87)}
.brand .gp-emblem[src=""]{display:none}
.brand,.gp-brand-name{min-width:0;overflow-wrap:anywhere;word-break:keep-all}
.nav .brand{flex-shrink:1}
.nav .wrap{height:auto;min-height:88px;padding-top:14px;padding-bottom:14px}
.nav .cl-menu{min-width:0;flex-wrap:wrap;row-gap:0}
.nav .cl-menu a{max-width:100%;word-break:keep-all;overflow-wrap:anywhere}
html{scroll-padding-top:var(--gp-header-offset,120px)}
section{scroll-margin-top:var(--gp-header-offset,120px)}
.hero{padding-top:max(168px,calc(var(--gp-header-offset,104px) + 42px))}
main,section,.wrap,.sechead,.about-body,.con-info,.sf-ct-form,.sf-ct-field,.gp-consult-list li,.gp-faq-question{min-width:0}
.gp-attorney-profile img,#about .about-img img{aspect-ratio:auto}
.con-map{width:100%;max-width:100%;min-width:0}
.con-map .sf-map,.con-map .sf-map-embed{width:100%;max-width:100%;min-width:0}
.con-map .sf-map-embed iframe,.con-map .root_daum_roughmap,.con-map .root_daum_roughmap .wrap_map{width:100%!important;max-width:100%;min-width:0}
.con-map .root_daum_roughmap .wrap_controllers{max-width:100%;box-sizing:border-box}
.con-info dd{min-width:0;overflow-wrap:anywhere;word-break:keep-all}
.con-info .call,.sf-ct-meta a{max-width:100%;white-space:normal;word-break:normal;overflow-wrap:anywhere}
.gp-consult-fee{max-width:14rem;white-space:normal;overflow-wrap:anywhere;word-break:keep-all;text-align:right}
.sf-ct-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.sf-ct-field input,.sf-ct-field textarea,.sf-iq-field input,.sf-iq-field textarea{max-width:100%;min-width:0}
.sf-iq-modal{max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px)}
@media(max-width:1024px){
 .nav .wrap{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 18px;min-height:106px;padding-top:12px;padding-bottom:0}
 .nav .brand{max-width:100%}.nav .cta{justify-self:end}
 .nav .cl-menu{display:flex;grid-column:1/-1;grid-row:2;justify-content:space-between;flex-wrap:wrap;gap:0 16px;width:100%;margin:8px 0 0;border-top:1px solid #efefea}
 .nav .cl-menu a{flex:0 1 auto;white-space:normal;padding-block:12px;font-size:12px;line-height:1.65}
 .hero{padding-top:max(158px,calc(var(--gp-header-offset,122px) + 30px))}
}
@media(max-width:680px){
 .nav .wrap{column-gap:12px}.nav .cl-menu{gap:0 10px}.nav .cl-menu a{font-size:11px}
 .hero{padding-top:max(156px,calc(var(--gp-header-offset,122px) + 28px))}
 .hero h1{overflow-wrap:anywhere;word-break:keep-all}
 .sf-ct-row{grid-template-columns:minmax(0,1fr)}
 .gp-consult-fee{max-width:30vw}
 .con-map .sf-map-embed{height:300px;min-height:280px;aspect-ratio:auto}
 .sf-iq-back{padding:12px}.sf-iq-modal{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
 .gp-gallery-pages button{min-height:44px}.sf-iq-x{width:40px;height:40px}
}
@media(max-width:360px){.nav .cl-menu{gap:0 8px}.nav .cl-menu a{font-size:10.5px}.con-info dl{grid-template-columns:54px minmax(0,1fr);column-gap:12px}.con-info .call{font-size:22px}}
