/* Plan 02 — architecture, expertise and considered decisions */
.eyebrow {font-size:16px;font-weight:600;letter-spacing:.08em;line-height:1.5;color:var(--color-secondary);}
.main-visual {position:relative;isolation:isolate;width:100%;height:100svh;min-height:820px;max-height:1160px;background:#15244f;color:#fff;}
.hero-image {position:absolute;inset:0;z-index:-2;overflow:hidden;}
.hero-image>img {width:100%;height:100%;object-fit:cover;object-position:center;}
.main-visual:after {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.1)),linear-gradient(90deg,rgba(11,20,35,.43),rgba(11,20,35,.08) 80%),linear-gradient(0deg,rgba(11,20,35,.5),transparent 35%,transparent 75%,rgba(11,20,35,.22));}
.hero-copy.contain {width:100%;margin:0 auto;padding-left:var(--space-container);padding-right:var(--space-container);height:100%;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:20px;padding-bottom:90px;}
.hero-copy .eyebrow {color:#fff;letter-spacing:.14em;font-weight:400;}
.hero-copy h2 {font-size:clamp(52px,3.8vw,73px);line-height:1.35;letter-spacing:-.045em;font-weight:500;margin-top:28px;}
.hero-description {font-size:18px;line-height:1.85;color:#ffffffcc;position:absolute;left:var(--space-container);right:var(--space-container);bottom:65px;margin:0;padding-left:0;border-left:0;max-width:calc(var(--layout-width-1600) - var(--space-container));}
.hero-scroll {position:absolute;right:var(--space-container);bottom:62px;display:flex;align-items:center;gap:24px;font-size:16px;letter-spacing:.035em;}
.hero-scroll b {display:flex;align-items:center;justify-content:center;width:62px;height:62px;border:1px solid #ddd;border-radius:50%;font-size:24px;font-weight:300;transition:background .25s;}
.hero-scroll:hover b {background:#c8161d;}
.main-section {padding:140px 0;}
.main-section h2 {font-size:54px;line-height:1.32;font-weight:500;letter-spacing:-.045em;}
.main-business {overflow:hidden;padding-top:140px;padding-bottom:120px;}
.expertise-heading {display:flex; align-items:flex-end; justify-content:space-between; gap:50px; margin-bottom:60px;}
.expertise-heading h2 {margin-top:26px;}
.expertise-heading-side {display:flex; flex-direction:column; align-items:flex-end; gap:26px;}
.expertise-heading-side>p {font-size:18px; color:#505050; line-height:1.8;}
.expertise-arrows {display:flex; gap:12px;}
.expertise-arrows button {width:54px; height:54px; border:1px solid #ddd; border-radius:50%; background:#fff; color:#2c2c2c; font-size:25px; transition:background .2s,color .2s;}
.expertise-arrows button:hover {background:var(--color-secondary); color:#fff;}
.expertise-window {overflow:hidden; padding:6px 0; margin:-6px 0; width:100%;}
.expertise-slider {overflow:visible;}
.expertise-slide {position:relative;isolation:isolate;overflow:hidden;background:#2c2c2c;color:#fff;}
.expertise-photo {position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .8s;}
.expertise-slide:after {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.15),transparent 30%,rgba(0,0,0,.08) 45%,rgba(0,0,0,.65));transition:background .35s;}
.expertise-slide:hover:after,.expertise-slide:focus-within:after {background:linear-gradient(180deg,rgba(21,36,79,.35),rgba(21,36,79,.55) 35%,rgba(14,25,54,.92));}
.expertise-slide:hover .expertise-photo {transform:scale(1.04);}
.expertise-number {position:absolute;top:32px;left:36px;font-size:22px;font-weight:500;letter-spacing:.02em;color:#fff;}
.expertise-number>span {font-size:16px;font-weight:400;opacity:.6;margin-left:8px;}
.expertise-card-body {position:absolute;bottom:36px;left:36px;right:36px;}
.expertise-slide h3 {font-size:26px;font-weight:600;line-height:1.4;letter-spacing:-.03em;margin-bottom:18px;color:#fff;}
.expertise-card-summary {font-size:18px;line-height:1.67;color:rgba(255,255,255,.8);max-width:410px;min-height:0;}
.expertise-detail {display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:28px;padding:0;border:0;background:none;font-size:16px;color:#fff;text-align:left;}
.is-main .expertise-detail {display:none!important;}
.expertise-detail>b {display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid #ddd;border-radius:50%;font-size:26px;font-weight:400;transition:background .25s,color .25s;}
.expertise-detail:hover>b {background:#fff;color:var(--color-secondary);}
.expertise-next {background:var(--color-secondary)!important;color:#fff!important;}
.expertise-bottom {display:flex;align-items:center;gap:28px;margin-top:54px;}
.expertise-count {display:flex;align-items:baseline;gap:12px;white-space:nowrap;color:#878787;font-size:16px;}
.expertise-count strong {font-size:24px;color:var(--color-secondary);font-weight:500;}
.expertise-track {flex:1;height:2px;background:#ddd;}
.expertise-track span {display:block;width:11.111%;height:100%;background:var(--color-secondary);transition:width .4s;}
.expertise-hint {font-size:16px;letter-spacing:.04em;color:#878787;}

.expertise-heading h2>span {color:#878787;}
.expertise-heading {margin-bottom:56px;}
.expertise-heading-side {gap:30px;}
.expertise-bottom {margin-top:36px;}
.expertise-number {font-size:18px;}
.expertise-number>span {display:none;}
.main-process {position:relative;isolation:isolate;background:#15244f;padding:120px 0;overflow:hidden;color:#fff;}
.main-process:before {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(21,36,79,.7),#15244f 57%),url('../images/main/hero-architecture.jpg') left center/48% auto no-repeat;opacity:.55;}
.process-layout {display:grid;grid-template-columns:.88fr 1.2fr;gap:100px;align-items:center;}
.process-heading .eyebrow {color:#ffffffb3;font-weight:400;}
.process-heading h2 {color:#fff;font-size:48px;margin:34px 0 28px;line-height:1.4;}
.process-heading>p:not(.eyebrow) {font-size:18px;color:#ffffffb3;line-height:1.85;}
.process-intro-note {display:inline-block;font-size:16px;color:#ffffffb3;margin-top:66px;padding-top:22px;border-top:1px solid #ddd;}
.process-list {display:grid;grid-template-columns:1fr 1fr;gap:0 44px;}
.process-list li {padding:36px 0 30px;border-top:1px solid #ddd;}
.process-list li:nth-child(-n+2) {padding-bottom:44px;}
.process-visual {display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;}
.process-number {font-size:16px;font-weight:400;letter-spacing:.06em;color:#ffffff99;}
.process-visual img {width:60px;height:60px;filter:brightness(0) invert(1);opacity:.85;}
.process-list h3 {font-size:25px;font-weight:500;line-height:1.4;color:#fff;margin-bottom:16px;letter-spacing:-.025em;}
.process-list p {font-size:18px;line-height:1.8;color:#ffffffb3;word-break:keep-all;}
.main-cases {background:#fff;padding:140px 0 160px;}
.case-editorial-heading {text-align:center;margin-bottom:72px;}
.case-editorial-heading h2 {margin-top:24px;}
.case-editorial-heading>p:last-child {font-size:18px;line-height:1.8;color:#505050;margin-top:24px;}
.case-story-grid {display:grid;grid-template-columns:1.08fr 1fr;gap:64px;align-items:stretch;height:600px;}
.case-story-column {display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:32px;}
.case-story-image {display:block;position:relative;overflow:hidden;width:100%;padding:0;border:0;background:#ddd;color:inherit;text-decoration:none;}
.case-story-image img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s,filter .65s;}
.case-story-image:hover img {transform:scale(1.035);filter:brightness(1.08);}
.case-story-lead {display:grid;grid-template-rows:minmax(0,1fr) auto;}
.case-story-lead .case-story-image {height:100%;}
.case-story-side {display:grid;grid-template-columns:46% 1fr;gap:28px;border-bottom:1px solid #ddd;padding-bottom:32px;align-items:center;}
.case-story-side:last-child {padding-bottom:0;border-bottom:0;}
.case-story-side .case-story-image {height:100%;min-height:0;}
.case-story-number {position:absolute;left:20px;top:20px;font-size:16px;color:#fff;background:#15244f;padding:8px 12px;}
.case-story-caption {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0 0;}
.case-story-caption h3 {font-size:32px;font-weight:500;line-height:1.4;letter-spacing:-.025em;}
.case-story-caption p {font-size:18px;color:#505050;line-height:1.7;margin-top:10px;word-break:keep-all;}
.case-story-side .case-story-caption {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:0;gap:28px;}
.case-story-link {display:flex;align-items:center;justify-content:center;width:50px;height:50px;flex-shrink:0;background:transparent;border:1px solid #ddd;border-radius:50%;font-size:25px;color:inherit;text-decoration:none;transition:background .25s,color .25s;}
.case-story-link:hover {background:#15244f;color:#fff;}
.service-dialog {width:min(620px,calc(100% - 40px)); max-height:85svh; margin:auto; padding:60px; border:1px solid #ddd; color:#2c2c2c;}
.service-dialog::backdrop {background:#0006; backdrop-filter:blur(4px);}
.service-dialog h2 {font-size:32px; font-weight:600; line-height:1.45; margin:25px 0;}
.dialog-close {position:absolute; top:15px; right:20px; padding:5px; font-size:30px; border:0; background:none;}
.dialog-summary {font-size:18px; line-height:1.8; color:#505050;}
.dialog-details {border-top:1px solid #ddd; padding-top:20px; margin:24px 0; font-size:16px; color:#878787; line-height:2;}
.dialog-details li:before {content:'—'; margin-right:12px;}
.dialog-contact {display:flex; justify-content:space-between; padding:18px 24px; background:var(--color-secondary); color:#fff; font-size:18px;}
button,a {touch-action:manipulation;}
:focus-visible {outline:2px solid var(--color-secondary); outline-offset:5px;}


.case-story-lead,.case-story-column,.case-story-side,.case-story-image {min-height:0;}

/* Rounded image edges for expertise and case study. */
.expertise-slide,.case-story-image {border-radius:16px;}

/* Plan 01 type hierarchy and brand palette, adapted to this layout. */
.hero-copy h2 {font-size:var(--aid-hero);font-weight:700;line-height:1.26;letter-spacing:-.05em;}
.hero-copy .eyebrow {font-size:clamp(16px,1.0625vw,17px);font-weight:500;line-height:1.2;letter-spacing:.06em;color:rgba(255,255,255,.78);}
.hero-description {font-size:var(--aid-body);font-weight:400;line-height:1.6;letter-spacing:.02em;color:rgba(255,255,255,.8);}
.hero-scroll {font-size:16px;font-weight:500;letter-spacing:.08em;color:rgba(255,255,255,.85);}
.main-section h2 {font-size:var(--aid-title);font-weight:700;line-height:1.43;letter-spacing:-.03em;color:var(--color-ink);}
.expertise-heading h2>span {color:inherit;}
.eyebrow {font-size:var(--aid-label);font-weight:700;letter-spacing:.04em;line-height:1.67;color:var(--color-secondary);}
.expertise-heading-side>p,.case-editorial-heading>p:last-child,.process-heading>p:not(.eyebrow) {font-size:var(--aid-body);font-weight:400;line-height:1.7;letter-spacing:-.03em;}
.expertise-heading-side>p,.case-editorial-heading>p:last-child {color:var(--color-body);}
.expertise-slide h3 {font-size:26px;font-weight:600;line-height:1.4;letter-spacing:-.03em;}
.expertise-card-summary {font-size:18px;font-weight:400;line-height:1.67;letter-spacing:-.03em;color:rgba(255,255,255,.8);}
.process-heading h2 {color:#fff;}
.process-heading .eyebrow {font-weight:700;color:rgba(255,255,255,.78);}
.process-heading>p:not(.eyebrow),.process-list p {color:rgba(255,255,255,.8);}
.process-list h3 {font-size:var(--aid-subtitle);font-weight:700;line-height:1.5;letter-spacing:-.03em;}
.process-list p {font-size:18px;font-weight:400;line-height:1.67;letter-spacing:-.03em;}
.case-story-caption h3 {font-size:32px;font-weight:700;line-height:1.5;letter-spacing:-.03em;color:var(--color-ink);}
.case-story-caption p {font-size:18px;font-weight:600;line-height:1.67;letter-spacing:-.03em;color:var(--color-body);}
.case-story-number {font-size:16px;font-weight:600;letter-spacing:.04em;}
.expertise-number {font-size:16px;font-weight:600;}

/* OUR EXPERTISE — 레일 1600 · 카드 3장 전체 노출(gap 28×2) · 비율 596×580 */
@media (min-width:1200px){
.main-visual .hero-copy.contain,
.main-business .contain{max-width:calc(var(--layout-width-1600) + var(--space-container) * 2);padding-left:var(--space-container);padding-right:var(--space-container);}
.main-business .contain{--expertise-rail:min(var(--layout-width-1600),100vw - var(--space-container) * 2);}
.expertise-slider .expertise-slide{width:auto;height:auto;aspect-ratio:596 / 580;max-height:560px;box-sizing:border-box;}
.expertise-slide h3{font-size:26px;}
.expertise-card-body{left:28px;right:28px;bottom:28px;}
.expertise-number{top:24px;left:28px;}
.expertise-card-summary{max-width:none;font-size:18px;line-height:1.67;}
}

/* Plan02 representative message */
@font-face{font-family:"Nanum Pen Script";src:url("../fonts/nanum-pen/NanumPen.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap;}
.ceo-message{display:grid;grid-template-columns:minmax(0, .85fr) minmax(0,1.3fr);gap:100px;padding-top:120px;padding-bottom:150px;align-items:start;}
.ceo-photo{position:sticky;top:140px;height:740px;border-radius:16px;overflow:hidden;}
.ceo-photo img{width:100%;height:100%;object-fit:cover;object-position:45% center;}
.ceo-letter h3{font-size:26px;line-height:1.65;font-weight:600;color:#2c2c2c;margin-bottom:40px;}
.ceo-letter h3:before{content:"";display:block;width:40px;height:3px;background:var(--color-secondary);margin-bottom:28px;}
.ceo-body{font-size:20px;line-height:1.95;color:#505050;word-break:keep-all;}
.ceo-body p+p{margin-top:26px;}
.ceo-body p strong{color:var(--color-secondary);font-weight:600;}
.ceo-body .greeting-sign{display:flex;align-items:center;justify-content:flex-end;gap:24px;margin-top:44px;padding-top:30px;border-top:1px solid #ddd;}
.ceo-body .greeting-sign span{font-size:18px;}
.ceo-body .greeting-sign strong{font-family:"Nanum Pen Script",cursive;font-size:36px;font-weight:400;letter-spacing:.1em;color:#2c2c2c;}

/* Actual Seoul photograph: retain detail and a readable left heading. */
.hero-image>img{object-position:center 48%;}.main-visual:after{background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(0,0,0,.06) 75%),linear-gradient(0deg,rgba(0,0,0,.4),transparent 40%);}
.contact-intro{margin-bottom:60px;}.page-contact .contact-intro .eyebrow{font-size:16px;font-weight:600;letter-spacing:.12em;line-height:1.45;color:var(--color-secondary);margin:0 0 20px;}.contact-intro h3{font-size:32px;font-weight:700;line-height:1.45;letter-spacing:-.04em;color:#2c2c2c;margin:0 0 24px;word-break:keep-all;}.contact-intro>p:last-child{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:-.02em;color:#505050;word-break:keep-all;}.contact-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ddd;border-bottom:1px solid #ddd;}.contact-options>a,.contact-options>div{padding:40px 28px;}.contact-options>*+*{border-left:1px solid #ddd;}.contact-options span{font-size:16px;font-weight:600;letter-spacing:.12em;color:var(--color-secondary);}.contact-options strong{display:block;font-size:18px;font-weight:600;line-height:1.45;letter-spacing:-.02em;margin:20px 0;color:#2c2c2c;overflow-wrap:anywhere;}.contact-options p{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:-.02em;color:#505050;}

/* Representative portrait and career */
.ceo-photo.ceo-portrait{width:100%;max-width:354px;height:auto;aspect-ratio:354/472;margin:0 auto;border-radius:12px;}.ceo-photo.ceo-portrait img{display:block;width:100%;height:auto;object-fit:contain;}.career-profile{padding-top:120px;padding-bottom:150px;}.career-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;padding:0 0 56px;border-bottom:2px solid #2c2c2c;}.career-role{font-size:18px;color:var(--color-secondary);margin-bottom:20px;}.career-intro h3{font-size:48px;font-weight:600;letter-spacing:-.04em;line-height:1.35;color:#2c2c2c;display:flex;align-items:center;gap:28px;}.career-intro h3 span{font-size:24px;font-weight:400;letter-spacing:-.02em;color:#505050;}.career-licenses{font-size:18px;color:#878787;padding-bottom:8px;}.career-licenses span{margin:0 12px;}.career-group{display:grid;grid-template-columns:260px minmax(0,1fr);gap:60px;padding:56px 0;border-bottom:1px solid #ddd;}.career-group:last-child{padding-bottom:0;border-bottom:0;}.career-group h3{font-size:26px;font-weight:600;color:#2c2c2c;line-height:1.5;}.career-history>div{position:relative;display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;padding:0 0 32px 28px;border-left:1px solid #ddd;}.career-history>div:last-child{padding-bottom:0;}.career-history>div:before{content:'';position:absolute;left:-5px;top:12px;width:9px;height:9px;border-radius:50%;background:var(--color-secondary);box-shadow:0 0 0 5px #c8161d26,0 0 0 9px #c8161d12;box-sizing:border-box;}.career-history dt{font-size:18px;color:#878787;line-height:1.8;}.career-history dd{font-size:18px;color:#505050;line-height:1.8;}.career-current{color:var(--color-secondary);font-weight:600;}.career-list{display:grid;gap:22px;}.career-list li{position:relative;padding-left:18px;font-size:18px;line-height:1.7;color:#505050;}.career-list li:before{content:'';position:absolute;left:0;top:14px;width:4px;height:4px;background:var(--color-secondary);border-radius:50%;}.career-qualifications{grid-template-columns:1fr 1fr;gap:24px 40px;}

/* Vision */
.vision-content{padding-top:120px;padding-bottom:150px;}.page-vision .vision-content{padding-bottom:0;}.page-vision .vision-strengths{padding-top:120px;padding-bottom:150px;border-top:0;margin-top:0;}.vision-statement{text-align:left;}.vision-intro{display:block;}.vision-intro-copy{max-width:100%;padding:0;}.vision-intro-copy .vision-eyebrow{margin-bottom:20px;}.vision-eyebrow{font-size:16px;letter-spacing:.12em;font-weight:600;color:var(--color-secondary);}.vision-headline{font-size:32px;font-weight:700;line-height:1.45;letter-spacing:-.04em;color:#2c2c2c;word-break:keep-all;}.vision-headline em{font-style:normal;font-weight:700;color:var(--color-secondary);}
.page-vision .strengths-intro .vision-eyebrow{margin-bottom:20px;}.page-vision .strengths-intro h3.vision-headline{margin:0;font-size:32px;font-weight:700;line-height:1.45;letter-spacing:-.04em;color:#2c2c2c;}.page-vision .strengths-intro>p:last-child{margin:24px 0;}.vision-headline-rule{display:block;width:100%;height:2px;margin-top:28px;border-radius:1px;background:linear-gradient(to right,var(--color-secondary) 0,var(--color-secondary) 72px,var(--color-line) 72px,var(--color-line) 100%);}.vision-headline-rule--ddd{height:0;margin-top:28px;border-radius:0;background:none;border-bottom:1px solid #ddd;}.vision-bodycopy{display:flex;flex-direction:column;gap:6px;margin-top:28px;}.vision-lead{font-size:18px;font-weight:600;line-height:1.45;letter-spacing:-.02em;color:#505050;word-break:keep-all;}.vision-lead em{font-style:normal;font-weight:600;color:var(--color-secondary);}.vision-bodycopy .vision-description{margin:0;font-size:18px;font-weight:400;line-height:1.45;color:#505050;word-break:keep-all;}.vision-statement{margin-bottom:64px;}.page-vision .vision-statement{margin-bottom:40px;}.vision-infographic{margin-bottom:0;}.vision-infographic .vision-service{margin-top:0;padding:64px 56px;background:#f7f7f8;border-radius:20px;}.vision-service{margin-top:48px;padding:64px 56px;background:#f7f7f8;border-radius:20px;}.vision-flow{display:grid;grid-template-columns:1fr 60px 1fr 60px 1.25fr;align-items:center;}.vision-node{min-height:230px;padding:40px 24px;display:flex;flex-direction:column;justify-content:center;border-radius:16px;text-align:center;}.vision-understand{background:#fff;border:1px solid #ddd;}.vision-node>span{font-size:16px;letter-spacing:.07em;color:#878787;margin-bottom:20px;}.vision-node h4{font-size:24px;line-height:1.5;font-weight:600;}.vision-appraisal{background:#c8161d;color:#fff;}.vision-appraisal>span{color:#ffffffb3;}.vision-arrow{text-align:center;font-size:26px;color:#878787;}.vision-results{position:relative;display:grid;gap:16px;padding-left:24px;}.vision-results:before{content:'';position:absolute;left:0;top:38px;bottom:38px;border-left:1px solid #ddd;}.vision-results li{position:relative;display:flex;align-items:center;justify-content:center;min-height:76px;padding:20px 16px;background:#fff;border:1px solid #ddd;border-radius:10px;font-size:18px;color:#505050;text-align:center;line-height:1.5;}.vision-results li:before{content:'';position:absolute;right:100%;width:25px;top:50%;border-top:1px solid #ddd;}

.vision-photo{margin:0;width:100%;height:clamp(240px,56.25vw,520px);overflow:hidden;border-radius:16px;background:#15244f;}.vision-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center;}

/* Expert collaboration */
.collab-content{padding-top:120px;padding-bottom:150px;}.collab-intro{max-width:100%;text-align:center;}.collab-title{margin:0 0 24px;font-size:32px;font-weight:700;line-height:1.45;letter-spacing:-.04em;color:#2c2c2c;word-break:keep-all;}.collab-bodycopy{display:flex;flex-direction:column;gap:6px;max-width:920px;margin:0 auto;}.collab-lead{font-size:18px;font-weight:600;line-height:1.45;letter-spacing:-.02em;color:#505050;word-break:keep-all;}.collab-description{margin:0;font-size:18px;font-weight:400;line-height:1.45;color:#505050;word-break:keep-all;}.collab-diagram{margin:56px 0 0;padding:56px 32px 48px;background:linear-gradient(180deg,#f7f7f8 0%,#fff 100%);border:1px solid #ebebec;border-radius:24px;}.collab-hub{position:relative;max-width:900px;margin:0 auto;aspect-ratio:900/520;}.collab-hub-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}.collab-hub-center{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);z-index:2;width:168px;min-height:168px;padding:28px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:50%;background:linear-gradient(145deg,#15244f,#0e1936);color:#fff;box-shadow:0 20px 48px #15244f40;}.collab-hub-mark{font-size:13px;font-weight:600;letter-spacing:.1em;color:#ffffffb3;margin-bottom:6px;}.collab-hub-center strong{font-size:20px;font-weight:600;line-height:1.35;letter-spacing:-.02em;}.collab-hub-center p{margin:8px 0 0;font-size:13px;font-weight:500;line-height:1.4;color:#ffffffbf;}.collab-hub-nodes{position:absolute;inset:0;margin:0;padding:0;list-style:none;}.collab-node{position:absolute;left:50%;top:52%;width:132px;margin:0;padding:18px 12px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:#fff;border:1px solid #ddd;border-radius:16px;box-shadow:0 8px 24px #15244f12;transform:translate(-50%,-50%) rotate(var(--collab-angle)) translateY(calc(-1 * min(42vw,198px))) rotate(calc(-1 * var(--collab-angle)));}.collab-node-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:#f7f7f8;}.collab-node strong{font-size:17px;font-weight:600;color:#2c2c2c;line-height:1.3;}.collab-node>span:last-child{font-size:13px;line-height:1.4;color:#878787;word-break:keep-all;}.collab-node--accent{border-color:#c8161d;box-shadow:0 8px 28px #c8161d1f;}.collab-node--accent strong{color:#c8161d;}.collab-node--accent .collab-node-icon{background:#c8161d12;}

/* Location */
.location-content{padding-top:120px;padding-bottom:150px;}.location-intro{max-width:920px;margin:0 auto;text-align:center;}.location-title{margin:0 0 12px;font-size:32px;font-weight:700;line-height:1.45;letter-spacing:-.04em;color:#2c2c2c;word-break:keep-all;}.location-summary{margin:0;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:-.02em;color:#505050;word-break:keep-all;}.location-panel{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);margin-top:0;border:1px solid #ddd;border-radius:20px;overflow:hidden;background:#fff;box-shadow:none;}.location-map{position:relative;min-height:480px;background:linear-gradient(145deg,#eef1f6,#f7f7f8);}.location-map .kakao-map-host{position:absolute;inset:0;width:100%;height:100%;}.location-map .root_daum_roughmap{width:100%!important;height:100%!important;padding:0;border:0;box-sizing:border-box;}.location-map .root_daum_roughmap .wrap_map{height:100%!important;min-height:480px!important;}.location-map .root_daum_roughmap>.cont{display:none!important;}.location-map-fallback{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;gap:14px;}.location-map .kakao-map-host:not(.root_daum_roughmap){z-index:0;pointer-events:none;}.location-map-fallback[hidden]{display:none!important;}.location-map-label{font-size:13px;font-weight:600;letter-spacing:.12em;color:var(--color-secondary);}.location-map-fallback strong{font-size:22px;font-weight:600;color:#2c2c2c;}.location-map-fallback p{font-size:16px;line-height:1.65;color:#505050;}.location-map-notice{margin:10px 0 0;padding:12px 20px;font-size:15px;font-weight:600;line-height:1.5;color:#505050;background:#e8eaee;border:1px dashed #c5cad4;border-radius:10px;}.location-info{padding:40px 36px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid #ddd;background:#fff;}.location-info h4{margin:0 0 28px;font-size:26px;font-weight:700;line-height:1.45;letter-spacing:-.04em;color:#2c2c2c;word-break:keep-all;}.location-dl{margin:0;display:grid;gap:22px;}.location-dl>div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:12px 16px;align-items:start;}.location-dl dt{font-size:16px;font-weight:600;line-height:1.45;color:#878787;}.location-dl dd{margin:0;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:-.02em;color:#2c2c2c;word-break:keep-all;}.location-routes{margin-top:56px;padding-top:40px;border-top:1px solid #ddd;}.location-routes h3{margin:0 0 28px;font-size:32px;font-weight:700;line-height:1.45;letter-spacing:-.04em;color:#2c2c2c;word-break:keep-all;}.location-route-list{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}.location-route-list li{padding:28px 24px;background:#f7f7f8;border-radius:16px;border:0;}.location-route-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;}.location-route-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:#fff;border:0;}.location-route-icon img{display:block;width:28px;height:28px;}.location-route-tag{display:inline-block;padding:0;font-size:20px;font-weight:600;line-height:1.45;letter-spacing:-.02em;color:var(--color-primary);background:transparent;border-radius:0;}.location-route-list p{margin:0;font-size:18px;font-weight:400;line-height:1.45;letter-spacing:-.02em;color:#505050;word-break:keep-all;}.location-route-list p strong{font-weight:400;color:#505050;}.location-route-keep{white-space:nowrap;}

/* Precisely aligned expert network */
.expert-diagram{margin-top:56px;padding:48px 48px 40px;border:0;border-radius:24px;background:#fafafa;}.expert-diagram-heading{text-align:center;}.expert-diagram-heading>span{font-size:16px;color:var(--color-secondary);letter-spacing:.12em;font-weight:600;}.expert-diagram-heading h4{font-size:26px;color:#2c2c2c;font-weight:700;margin-top:16px;line-height:1.45;letter-spacing:-.04em;}.expert-diagram-footer{margin-top:0;padding-top:28px;border-top:1px solid #ddd;text-align:center;}.expert-network{position:relative;width:100%;max-width:1000px;aspect-ratio:10/7;margin:0 auto;}.expert-lines{position:absolute;inset:0;width:100%;height:100%;}.expert-center{position:absolute;left:50%;top:48.57143%;transform:translate(-50%,-50%);width:218px;height:218px;border-radius:50%;background:#c8161d;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;}.expert-center>span{font-size:18px;letter-spacing:.12em;margin-bottom:12px;}.expert-center strong{font-size:26px;font-weight:600;}.expert-center p{font-size:16px;margin-top:12px;}.expert-center small{font-size:16px;color:#ffffffb3;margin-top:8px;}.expert-nodes{list-style:none;margin:0;padding:0;}.expert-node{position:absolute;left:var(--node-x);top:var(--node-y);transform:translate(-50%,-50%);width:210px;min-height:156px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;background:#fff;border:1px solid #ddd;border-radius:16px;box-shadow:0 8px 24px #15244f06;}.expert-node img{display:block;width:32px;height:32px;margin-bottom:10px;}.expert-node strong{font-size:22px;font-weight:600;color:#2c2c2c;line-height:1.4;}.expert-node>span{font-size:16px;line-height:1.5;color:#878787;margin-top:6px;}.expert-caption{max-width:720px;margin:0 auto;padding:20px 24px 0;text-align:center;font-size:18px;font-weight:400;line-height:1.75;letter-spacing:-.02em;color:#505050;border:0;word-break:keep-all;}.expert-caption-regular{font-weight:400;}.expert-caption-semibold{font-weight:600;}

/* Aid strengths */
.strengths-content{padding-top:120px;padding-bottom:150px;}.strengths-label{font-size:16px;letter-spacing:.09em;color:#c8161d;font-weight:600;}.strengths-intro h3{font-size:44px;line-height:1.45;letter-spacing:-.035em;color:#2c2c2c;font-weight:500;margin:24px 0 28px;}.strengths-intro em{font-style:normal;color:#c8161d;}.strengths-intro>p:last-child{font-size:18px;line-height:1.8;color:#505050;}.strengths-promises{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:56px;}.strengths-promises article{padding:44px;background:#f7f7f8;border-radius:16px;border-top:3px solid #c8161d;}.strengths-promises h4{font-size:28px;color:#2c2c2c;font-weight:600;margin:24px 0 20px;}.strengths-promises .strengths-label{font-size:16px;}.strengths-promises p,.strengths-total p:not(.strengths-label){font-size:18px;line-height:1.8;color:#505050;}.strengths-total{margin-top:88px;padding:56px 0;display:grid;grid-template-columns:320px minmax(0,1fr);gap:64px;border-top:1px solid #ddd;border-bottom:1px solid #ddd;}.strengths-total h3{font-size:32px;line-height:1.5;font-weight:600;color:#2c2c2c;margin-top:20px;}.strengths-services{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0;}.strengths-services li{padding:18px 20px;border:1px solid #ddd;border-radius:8px;font-size:18px;color:#2c2c2c;}.strengths-values{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:0;align-items:stretch;}.strengths-values article{display:flex;flex-direction:column;align-items:stretch;min-height:100%;padding:40px 32px 36px;background:#f7f7f8;border-radius:16px;border:0;box-sizing:border-box;}.strengths-values article+article{border-left:0;}.strengths-values .strengths-value-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px;min-height:40px;flex-shrink:0;}.strengths-values .strengths-value-top span{font-size:18px;font-weight:600;line-height:1;color:#878787;letter-spacing:.02em;}.strengths-values .strengths-value-top img{width:40px;height:40px;flex-shrink:0;display:block;}.strengths-values h4{font-size:26px;font-weight:600;margin:0 0 16px;color:#2c2c2c;line-height:1.4;letter-spacing:-.035em;word-break:keep-all;}.strengths-values article>p{margin:0;flex:1;font-size:18px;line-height:1.75;color:#505050;word-break:keep-all;}
.strengths-value-top{display:flex;align-items:center;justify-content:space-between;gap:20px;}.strengths-value-top img{width:48px;height:48px;display:block;}

/* Business fields */
.business-visual-note{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:-.02em;color:#505050;word-break:keep-all;}.business-content{padding-top:80px;padding-bottom:150px;}.business-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ddd;border-left:1px solid #ddd;}.business-fields a{display:flex;align-items:center;gap:16px;min-height:76px;padding:20px 24px;border-right:1px solid #ddd;border-bottom:1px solid #ddd;font-size:18px;line-height:1.5;color:#505050;transition:background-color .2s,color .2s;}.business-fields a>span{font-size:16px;color:#878787;}.business-fields a:hover{background:#f7f7f8;}.business-fields a[aria-current]{background:#c8161d;color:#fff;}.business-fields a[aria-current]>span{color:#ffffffb3;}.business-fields a:focus-visible{outline:2px solid #15244f;outline-offset:-4px;}.business-panels{margin-top:64px;}.business-detail[hidden]{display:none;}.business-feature{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}.business-kicker{font-size:16px;color:#c8161d;letter-spacing:.06em;margin-bottom:24px;}.business-kicker span{margin-left:20px;color:#878787;}.business-copy h3{font-size:36px;line-height:1.45;color:#2c2c2c;font-weight:600;letter-spacing:-.03em;}.business-lead{font-size:24px;line-height:1.6;margin:28px 0 20px;color:#2c2c2c;}.business-summary{font-size:18px;line-height:1.85;color:#505050;}.business-feature figure{aspect-ratio:4/3;border-radius:16px;overflow:hidden;}.business-feature img{width:100%;height:100%;object-fit:cover;display:block;}.business-contact{display:inline-flex;gap:48px;align-items:center;padding:16px 0;border-bottom:1px solid #2c2c2c;margin-top:28px;font-size:18px;color:#2c2c2c;}.business-contact:hover{color:#c8161d;}.business-information{display:grid;grid-template-columns:1fr 1fr;gap:72px;margin-top:56px;padding-top:36px;border-top:1px solid #ddd;}.business-information h4{font-size:24px;font-weight:600;color:#2c2c2c;margin-bottom:24px;}.business-information ul{display:grid;gap:12px;}.business-information li{font-size:18px;line-height:1.7;color:#505050;position:relative;padding-left:16px;}.business-information li:before{content:'';position:absolute;left:0;top:13px;width:4px;height:4px;border-radius:50%;background:#c8161d;}.business-note{font-size:16px;line-height:1.8;color:#878787;margin-top:40px;padding:24px;background:#f7f7f8;border-radius:8px;}

/* Service overview — photo top, description below (per card). */
.service-overview{padding-top:80px;padding-bottom:150px;}
.service-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 36px;}
.service-overview-card{display:flex;flex-direction:column;min-height:0;background:#fff;border:1px solid #ddd;border-radius:16px;overflow:hidden;scroll-margin-top:125px;}
.service-overview-image{position:relative;width:100%;height:clamp(240px,22vw,380px);flex-shrink:0;overflow:hidden;background:#15244f;}
.service-overview-image img{display:block;width:100%;height:100%;object-fit:cover;}
.service-overview-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#15244f55 0%,transparent 42%);pointer-events:none;}
.service-overview-image>span{position:absolute;z-index:1;top:22px;left:22px;color:#fff;font-size:18px;font-weight:600;letter-spacing:.05em;text-shadow:0 1px 8px #15244f80;}
.service-overview-copy{padding:32px 28px 36px;flex:1;}
.service-overview-copy h3{font-size:26px;font-weight:700;line-height:1.45;letter-spacing:-.04em;color:#2c2c2c;word-break:keep-all;}
.service-overview-copy h3:after{content:'';display:block;width:26px;height:2px;background:#c8161d;margin:18px 0;}
.service-overview-copy p{font-size:18px;font-weight:400;line-height:1.45;letter-spacing:-.02em;color:#505050;word-break:keep-all;overflow-wrap:anywhere;}
.service-overview-card:target{border-color:#c8161d;}

/* Total service: company introduction, expert network and strengths. */
.aid-total-intro{align-items:start;}
.aid-total-intro .total-service-caption{margin-top:24px;color:#878787;}
.aid-total-intro>div:last-child p+p{margin-top:22px;}
.aid-total-intro strong{color:#c8161d;font-weight:600;}
.total-network-wrap{margin-top:64px;}.page-vision .strengths-promises{margin-top:24px;}.page-vision .strengths-total.aid-total-intro,.page-vision .aid-total-intro{margin-top:140px;}.page-vision .total-network-wrap{margin-top:140px;}.page-vision .strengths-values-heading{margin-top:140px;}
.total-network-heading{margin:0 0 40px;text-align:center;}
.total-network-heading h3.vision-headline{margin:0;font-size:32px;font-weight:700;letter-spacing:-.035em;}
.total-network{padding:40px 32px 48px;background:#f7f7f8;border-radius:16px;overflow:hidden;}
.total-network-flow{display:grid;grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) 36px minmax(0,1.15fr) 36px minmax(0,1fr) 36px minmax(0,1fr);align-items:center;gap:8px 4px;max-width:100%;margin:0 auto;position:relative;isolation:isolate;}
.total-network-node{position:relative;z-index:2;width:min(100%,152px);max-width:152px;margin:0 auto;aspect-ratio:1;border:1px solid #ddd;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#15244f;box-sizing:border-box;padding:8px;}
.total-network-node img,.total-network-node svg{width:40px;height:40px;flex-shrink:0;display:block;}
.total-network-node strong{font-size:18px;font-weight:600;line-height:1.3;text-align:center;word-break:keep-all;}
.total-network-node.is-center{z-index:4;background:#15244f;color:#fff;border:5px solid #e3e6ed;outline:1px solid #ddd;max-width:168px;width:min(100%,168px);overflow:hidden;}
.total-network-node.is-center svg{width:52px;height:52px;}
.total-network-link{position:relative;z-index:1;display:block;width:20px;height:2px;margin:0 auto;background:#878787;flex-shrink:0;font-size:0;line-height:0;overflow:hidden;pointer-events:none;}.total-network-link::before,.total-network-link::after{content:'';position:absolute;top:50%;width:0;height:0;transform:translateY(-50%);border:3px solid transparent;}.total-network-link::before{left:0;border-right:4px solid #878787;}.total-network-link::after{right:0;border-left:4px solid #878787;}
.strengths-values-heading{margin-top:64px;margin-bottom:40px;text-align:center;}
.strengths-values-heading h3.vision-headline{margin:0;font-size:32px;font-weight:700;letter-spacing:-.035em;}
.strengths-values{margin-top:0;}




/* Total service editorial with a dedicated property photograph. */
.aid-total-editorial{margin-top:120px;}
.total-editorial-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px;}
.total-editorial-heading h3{font-size:40px;line-height:1.4;font-weight:600;letter-spacing:-.035em;color:#2c2c2c;margin-top:16px;}
.total-editorial-heading>p{font-size:20px;line-height:1.7;color:#505050;}
.total-editorial-body{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.total-editorial-photo{height:500px;margin:0;border-radius:16px;overflow:hidden;background:#f5f5f5;}
.total-editorial-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;}
.total-editorial-copy{padding:8px 0;}
.total-editorial-copy p{font-size:18px;line-height:1.9;color:#505050;word-break:keep-all;}
.total-editorial-copy p+p{margin-top:26px;}
.total-editorial-copy strong{color:#c8161d;font-weight:600;}

/* Align total-service sections with the page's existing section rhythm. */
.page-vision .total-editorial-heading{display:block;margin-bottom:32px;}
.page-vision .total-editorial-heading .vision-eyebrow{margin-bottom:20px;}
.page-vision .total-editorial-heading h3,.page-vision .total-editorial-heading h3.vision-headline{font-size:32px;font-weight:700;line-height:1.45;letter-spacing:-.04em;margin:0;}
.page-vision .total-editorial-heading>p{font-size:18px;line-height:1.7;margin-top:20px;color:#505050;}
.page-vision .total-editorial-body{gap:48px;align-items:stretch;}
.page-vision .total-editorial-photo{height:auto;min-height:400px;border-radius:16px;position:relative;}
.page-vision .total-editorial-photo img{position:absolute;inset:0;}
.page-vision .total-editorial-copy{padding:20px 0;align-self:center;}
.page-vision .total-editorial-copy p{line-height:1.8;}
.page-vision .total-editorial-copy p+p{margin-top:24px;}
.page-vision .total-network-heading,.page-vision .strengths-values-heading{text-align:left;margin-bottom:32px;}
.page-vision .total-network{padding:48px;background:#f7f7f8;border-radius:16px;}
.page-vision .total-network-node.is-center{background:#c8161d;border-color:#f3d9da;outline:none;}.page-vision .total-network-node.is-center img{display:block;}
/* Dedicated promise photography and text-led total service. */
.page-vision .promises-with-photos>article{padding:0;overflow:hidden;border:1px solid #ddd;background:#fff;}
.promise-photo{margin:0;height:280px;overflow:hidden;background:#f7f7f8;}
.promise-photo img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 45%;}
.promise-copy{padding:32px;}
.page-vision .promise-copy h4{margin:18px 0 16px;}
.page-vision .total-text-only .total-editorial-body{display:block;}
.total-text-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;border-top:1px solid #ddd;padding-top:32px;}
.total-text-grid article+article{border-left:1px solid #ddd;padding-left:40px;}
.total-text-number{font-size:16px;font-weight:600;color:#c8161d;}
.total-text-grid h4{font-size:26px;font-weight:600;line-height:1.4;color:#2c2c2c;margin:16px 0 20px;}
.total-text-grid p{font-size:18px;line-height:1.8;color:#505050;word-break:keep-all;}
.total-text-grid strong{color:#c8161d;font-weight:600;}

/* WHY AID: alternating image/text rows, with an integrated service highlight. */
.page-vision .promises-editorial{display:grid;grid-template-columns:1fr;gap:0;margin-top:40px;}
.page-vision .promises-editorial>article{display:grid;grid-template-columns:42% minmax(0,1fr);align-items:center;gap:64px;border:0;border-radius:0;padding:0 0 36px;background:transparent;overflow:visible;}
.page-vision .promises-editorial>article+article{grid-template-columns:minmax(0,1fr) 42%;padding:36px 0 0;border-top:1px solid #ddd;}
.promises-editorial>article:nth-child(2) .promise-photo{grid-column:2;grid-row:1;}
.promises-editorial>article:nth-child(2) .promise-copy{grid-column:1;grid-row:1;}
.promises-editorial .promise-photo{height:280px;border-radius:12px;}
.promises-editorial .promise-copy{padding:0;max-width:580px;}
.page-vision .promises-editorial .promise-copy h4{font-size:30px;margin:20px 0;}
.promises-editorial .promise-copy h4:before{content:'';display:block;width:32px;height:3px;background:#c8161d;margin-bottom:20px;}
.page-vision .total-service-accent{border:1px solid #ddd;border-radius:16px;overflow:hidden;background:#fafafa;}
.page-vision .total-service-accent .total-editorial-heading{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;background:#15244f;padding:40px 48px;margin:0;}
.page-vision .total-service-accent .total-editorial-heading:before{content:'';position:absolute;left:0;top:40px;bottom:40px;width:4px;background:#c8161d;}
.page-vision .total-service-accent .vision-eyebrow{color:#fff9;margin-bottom:12px;}
.page-vision .total-service-accent .total-editorial-heading h3{color:#fff;}
.page-vision .total-service-accent .total-editorial-heading>p{margin:0;color:#fff;font-size:20px;line-height:1.7;}
.total-service-accent .total-editorial-heading>p strong{font-weight:600;border-bottom:2px solid #ed555b;padding-bottom:4px;}
.total-service-accent .total-editorial-body{padding:40px 48px;}
.total-service-accent .total-text-grid{border-top:0;padding-top:0;gap:32px;}
.total-service-accent .total-text-grid article+article{padding-left:32px;}
.total-service-accent .total-text-number{display:inline-flex;width:36px;height:36px;border-radius:50%;align-items:center;justify-content:center;background:#c8161d0d;color:#c8161d;}

/* Page flow: matching headings, paired promises and concise service rows. */
.page-vision .promises-flow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:40px;}
.page-vision .promises-flow>article{padding:0;border:0;border-radius:0;background:transparent;overflow:visible;}
.promises-flow .promise-photo{height:270px;border-radius:12px;}
.promises-flow .promise-copy{padding:28px 0 0;}
.page-vision .promises-flow .promise-copy h4{font-size:28px;margin:16px 0;line-height:1.45;}
.promises-flow .promise-copy p{max-width:620px;}
.page-vision .total-service-flow{margin-top:140px;background:transparent;border:0;border-radius:0;}
.page-vision .total-service-flow .total-editorial-heading{display:block;margin:0 0 32px;padding:0;}
.page-vision .total-service-flow .total-editorial-heading h3,.page-vision .total-service-flow .total-editorial-heading h3.vision-headline{font-size:32px;font-weight:700;line-height:1.45;}
.page-vision .total-service-flow .total-editorial-heading>p{margin-top:20px;font-size:18px;font-weight:400;color:#505050;}
.total-service-flow .total-editorial-heading>p strong{font-weight:400;color:#505050;}
.total-service-flow .total-text-grid{display:block;padding:0;border-top:1px solid #ddd;}
.total-service-flow .total-text-grid article{display:grid;grid-template-columns:280px minmax(0,1fr);gap:40px;padding:32px 0;border-bottom:1px solid #ddd;}
.total-service-flow .total-text-grid article+article{border-left:0;padding-left:0;}
.total-flow-label{display:flex;align-items:baseline;gap:20px;}
.total-service-flow .total-text-number{font-size:16px;font-weight:600;color:#c8161d;}
.total-service-flow .total-text-grid h4{font-size:24px;line-height:1.5;margin:0;}
.total-service-flow .total-text-grid p{margin:0;font-size:18px;font-weight:400;line-height:1.8;color:#505050;}
.total-service-flow .total-text-grid p strong{font-weight:600;color:#505050;}

/* WHY AID: full photograph panels with legible editorial captions. */
.page-vision .promises-overlay{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:40px;}
.page-vision .promises-overlay>article{position:relative;min-height:440px;padding:0;border:0;border-radius:16px;overflow:hidden;background:#15244f;isolation:isolate;}
.promises-overlay .promise-photo{position:absolute;inset:0;height:100%;margin:0;}
.promises-overlay .promise-photo img{height:100%;object-fit:cover;object-position:center;}
.promises-overlay>article:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,18,32,.03) 0%,rgba(10,18,32,.12) 25%,rgba(10,18,32,.82) 75%,rgba(10,18,32,.94) 100%);z-index:1;pointer-events:none;}
.promises-overlay .promise-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;min-height:440px;padding:40px;box-sizing:border-box;}
.promises-overlay .promise-copy .strengths-label{color:#fff;font-size:14px;letter-spacing:.09em;}
.promises-overlay .promise-copy .strengths-label:before{content:'';display:inline-block;vertical-align:middle;width:24px;height:3px;background:#e03239;margin-right:12px;}
.page-vision .promises-overlay .promise-copy h4{font-size:28px;line-height:1.45;margin:16px 0 12px;color:#fff;}
.page-vision .promises-overlay .promise-copy p{font-size:16px;line-height:1.75;color:#fff;max-width:560px;margin:0;}

/* Precisely aligned hub-and-spoke professional collaboration diagram. */
.expert-map{position:relative;aspect-ratio:1120/440;max-width:1120px;margin:0 auto;color:#15244f;}
.expert-map-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.expert-map-node{position:absolute;width:25%;height:34%;border:1px solid #ddd;border-radius:16px;background:#f7f7f8;display:flex;align-items:center;justify-content:center;gap:20px;padding:20px;}
.expert-map-node>svg{width:38px;height:38px;flex-shrink:0;}
.expert-map-node strong{font-size:24px;font-weight:600;color:#2c2c2c;}
.expert-map-node p{font-size:16px;color:#878787;margin-top:10px;line-height:1.5;word-break:keep-all;}
.expert-map-tax{left:0;top:5%;}.expert-map-account{left:0;bottom:5%;}.expert-map-law{right:0;top:5%;}.expert-map-patent{right:0;bottom:5%;}
.expert-map-center{position:absolute;left:41.5%;top:28.4%;width:17%;height:43.2%;border-radius:50%;background:#c8161d;box-shadow:0 0 0 10px #c8161d0c;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:10px;}
.expert-map-center>svg{width:42px;height:42px;}.expert-map-center strong{font-size:24px;font-weight:600;}.expert-map-center span{font-size:16px;color:#ffffffbf;}

/* Small professional icons on white circular backplates. */
.expert-map-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;flex-shrink:0;border-radius:50%;background:#fff;}
.expert-map-icon>svg{display:block;width:30px;height:30px;}

/* Partner introduction: original brand mark and approved company name. */
.partners-content{padding-top:120px;padding-bottom:150px;}
.partner-profile{display:grid;grid-template-columns:360px minmax(0,1fr);align-items:center;gap:64px;padding:64px;border:1px solid #ddd;border-radius:16px;position:relative;}
.partner-profile:before{content:'';position:absolute;top:-1px;left:64px;width:64px;height:3px;background:#c8161d;}
.partner-mark{display:flex;align-items:center;justify-content:center;min-height:200px;border-right:1px solid #ddd;padding-right:64px;}
.partner-mark img{display:block;width:260px;max-width:100%;height:auto;}
.partner-eyebrow{font-size:16px;font-weight:600;letter-spacing:.1em;color:#c8161d;margin-bottom:20px;}
.partner-identity h3{font-size:32px;font-weight:600;line-height:1.5;letter-spacing:-.035em;color:#2c2c2c;word-break:keep-all;}

.overview-content{padding-top:120px;padding-bottom:150px;}.overview-label{font-size:16px;color:#c8161d;font-weight:600;letter-spacing:.1em;margin-bottom:20px;}.overview-intro h3{font-size:32px;line-height:1.45;font-weight:600;color:#2c2c2c;letter-spacing:-.035em;}.overview-intro em{font-style:normal;color:#c8161d;}.overview-intro>p:last-child{font-size:18px;color:#505050;line-height:1.8;margin-top:24px;}.overview-profile{display:grid;grid-template-columns:38% minmax(0,1fr);gap:64px;margin-top:48px;align-items:start;}.overview-brand{background:#f7f7f8;border-radius:16px;min-height:330px;padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;}.overview-brand img{width:100%;max-width:400px;height:auto;}.overview-brand span{font-size:16px;color:#878787;line-height:1.5;text-align:center;}.overview-details{border-top:2px solid #c8161d;}.overview-details>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid #ddd;font-size:18px;line-height:1.7;}.overview-details dt{color:#2c2c2c;font-weight:600;}.overview-details dd{color:#505050;word-break:keep-all;overflow-wrap:anywhere;}
.location-map .location-google-map{position:absolute;inset:0;width:100%;height:100%;border:0;}
