/* SIWON public design. Independent implementation using only company assets.
   Content-style.css loads last so operator typography and spacing stay editable. */
.company-public{--brand-navy:#242f68;--brand-deep:#172758;--brand-blue:#2769a8;--brand-cyan:#50c0c0;--brand-teal:#50c0c0;--brand-ink:#1d3155;--brand-muted:#55647b;--brand-line:#c5d4e8;--brand-control:#7a8796;--brand-wash:#eaf0fa;--admin-focus:#244099;background:#fff;color:var(--brand-ink)}
.company-public .original-site{font-family:Pretendard,'Noto Sans KR','Malgun Gothic',sans-serif;font-size:1rem;line-height:1.75;letter-spacing:0;color:var(--brand-ink)}
.company-public :is(.original-width,.original-header-inner){min-width:0}
.company-public :is(h1,h2,h3,p){word-break:keep-all;overflow-wrap:break-word}
.company-public :is(.page-copy,.article-body){white-space:normal}
.company-public .original-width{width:1280px;max-width:calc(100% - 112px)}
.company-public .section-eyebrow{display:block;margin-bottom:16px;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--brand-muted)}
.company-public :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--brand-navy);outline-offset:4px}
.company-public :is([id],a,button,input,select,textarea){scroll-margin-block-start:24px}
/* Borderless logo and responsive page tabs, separated by short vertical rules. */
.company-public .original-header{height:auto;min-height:100px;background:#fff;border:0}
.company-public .original-header-inner{width:1280px;max-width:calc(100% - 112px);min-height:100px;gap:28px;padding:14px 0}
.company-public .original-logo{padding:0;border:0;border-radius:0;background:transparent}
.company-public .original-logo img{width:180px;max-height:64px}
.company-public .original-navigation,.company-public .original-navigation.has-extra-menus{height:auto;gap:0;flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 220px);padding:0;border:0;border-radius:0;background:transparent;font-size:16px;font-weight:500;letter-spacing:-.025em}
.company-public .original-navigation .original-nav-group>a,.company-public .original-navigation .original-nav-group>a[href$="/contact"]{position:relative;display:flex;align-items:center;justify-content:center;min-height:44px;height:44px;padding:0 18px;border:0;border-radius:0;color:#242f68;white-space:nowrap}
@media(hover:hover) and (pointer:fine){.company-public .original-navigation .original-nav-group>a:hover{background:transparent;color:var(--brand-blue)}}
.company-public .original-navigation .original-nav-group.is-current>a{background:transparent;color:var(--brand-navy);font-weight:650}
.company-public .original-navigation>.original-nav-group{position:relative}
.company-public .original-navigation>.original-nav-group+.original-nav-group::before{content:'';position:absolute;left:0;top:50%;width:1px;height:14px;transform:translateY(-50%);background:#bdc9dc;pointer-events:none}
.company-public .original-navigation .original-nav-group>a:first-child::after{content:'';position:absolute;left:18px;right:18px;bottom:0;height:2px;background:var(--brand-blue);transform:scaleX(0);transform-origin:center}
.company-public .original-navigation .original-nav-group:is(.is-current,:focus-within)>a:first-child::after{transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){.company-public .original-navigation .original-nav-group:hover>a:first-child::after{transform:scaleX(1)}}
.company-public .original-dropdown,.company-public .has-extra-menus .original-dropdown{top:100%;left:-18px;min-width:205px;padding:10px 0;border:1px solid var(--brand-line);border-radius:12px;box-shadow:0 12px 30px #111d3910;background:#fff}
.company-public .original-navigation .original-dropdown a{min-height:44px;padding:11px 24px;font-size:14px;font-weight:400;line-height:1.6;color:#525762}
@media(hover:hover) and (pointer:fine){.company-public .original-dropdown a:hover{background:#f3f5f8;color:var(--brand-blue)}}
/* One framed lead story: company line, image and title, then title selectors. */
.company-public .original-slider{display:grid;grid-template-columns:minmax(0,1fr);width:calc(100% - 48px);max-width:1392px;height:auto;margin:0 auto;overflow:hidden;isolation:isolate;border:1px solid var(--brand-line);border-radius:28px;background:#eaf0fa}
.company-public .original-slide{position:relative;inset:auto;grid-area:2/1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:64px;padding:54px max(32px,calc((100% - 1280px)/2)) 26px;min-width:0;transition:opacity .35s ease}
.company-public .original-slide-background{position:relative;inset:auto;grid-column:2;grid-row:1;width:100%;height:100%;min-height:360px;object-fit:cover;object-position:62% center;border:1px solid #bacde3;border-radius:22px;box-shadow:none}
.company-public .original-slide-copy,.company-public .has-many-links .original-slide-copy{position:relative;inset:auto;grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:26px;min-width:0;width:auto;max-width:none;min-height:360px;height:auto;padding:16px 0;text-align:left;color:#1d3155}
.company-public .original-slide-copy::before{display:none}
.company-public .original-slide-copy h1,.company-public .original-slide-copy h2{position:static;inset:auto;width:100%;max-width:none;margin:0;padding:0;font-size:clamp(2.125rem,3.35vw,3.25rem);line-height:1.35;letter-spacing:-.03em;font-weight:700;white-space:normal;text-wrap:balance;color:var(--brand-ink)}
.company-public .original-slide-copy p{position:static;inset:auto;width:100%;max-width:460px;margin:0;padding:0;font-size:1.0625rem;line-height:1.85;font-weight:400;letter-spacing:0;white-space:normal;color:var(--brand-muted)}
.company-public .original-slide-controls{position:relative;inset:auto;grid-area:3/1;display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:24px;width:auto;transform:none;min-height:76px;padding:12px max(32px,calc((100% - 1280px)/2)) 10px;margin:0;border:0;border-radius:0;background:transparent}
.company-public .original-slide-dots{display:flex;position:static;gap:28px;margin:0;align-items:stretch}
.company-public .original-slide-dots button[data-slide]{position:relative;display:block;flex:1;min-width:0;width:auto;height:auto;min-height:44px;padding:0;border:0;border-radius:0;background:transparent;text-align:left;color:#737680}
.company-public .original-slide-dots button[data-slide]::before{position:absolute;content:'';top:calc(50% - 1.5px);left:0;width:100%;height:3px;border-radius:0;background:#c1cee2}
.company-public .original-slide-dots button[data-slide].active::before{background:#c1cee2}
.company-public .original-slide-dots button[data-slide]::after{position:absolute;content:'';top:calc(50% - 1.5px);left:0;width:100%;height:3px;border-radius:0;background:var(--brand-navy);transform-origin:left center;transform:scaleX(var(--slide-progress,0))}
.company-public .original-slide-dots button[data-slide].active::after{background:var(--brand-blue)}
.company-public .original-slide-dots button[data-slide].active{color:#1d3155}
.company-public .original-slide-toggle{width:44px;height:44px;border:1px solid #2876b5;border-radius:50%;color:#363b46}
@media(hover:hover) and (pointer:fine){.company-public .original-slide-toggle:hover{background:#fff}}
.company-public .original-quick,.company-public .has-many-links .original-quick{position:relative;inset:auto;grid-area:4/1;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;width:auto;max-width:none;transform:none;min-height:0;padding:18px 56px 30px;background:transparent;border:0;border-radius:0;box-shadow:none}
.company-public .original-quick a{display:flex;align-items:center;justify-content:center;gap:22px;min-width:0;min-height:46px;padding:9px 25px;border:1px solid var(--brand-control);border-radius:999px;background:transparent;text-align:left;font-size:14px;font-weight:500;color:var(--brand-ink);overflow-wrap:anywhere}
@media(hover:hover) and (pointer:fine){.company-public .original-quick a:hover{background:#fff;border-color:#176bad}}
.company-public .original-quick .utility-arrow{font-size:20px;color:#565e6e}
/* A navy/teal service landscape. The gentle wave pauses with the moving rail. */
.company-public .original-business{display:block;width:calc(100% - 48px);max-width:1392px;padding:78px 0 26px;margin:100px auto 0;border:1px solid #2876b5;border-radius:28px;scroll-margin-top:24px;background:radial-gradient(ellipse at 80% 0%,#245798 0%,transparent 48%),radial-gradient(ellipse at 18% 110%,#1b6578 0%,transparent 50%),#172758;color:#fff;overflow:hidden}
.company-public .original-business-intro{display:block;max-width:800px;margin:0 auto 42px;padding:0 32px;text-align:center}
.company-public .original-business-intro .section-eyebrow{color:#b7c8e2}
.company-public .original-business-intro h2{margin:0;font-size:58px;line-height:1.25;letter-spacing:-.05em;font-weight:650;color:#fff}
.company-public .original-business-intro p{width:auto;max-width:600px;margin:24px auto 0;white-space:normal;font-size:20px;line-height:1.8;font-weight:400;color:#d0ddf1}
.company-public .original-business-intro>.home-section-image{max-width:100%;max-height:320px;margin:24px auto 0;object-fit:contain}
.company-public .original-business-intro>a.text-link{width:auto;height:auto;line-height:1.6;border:0;border-bottom:1px solid #8095b9;color:#fff}
.company-public .service-list,.company-public .service-list.has-many-services{display:flex;align-items:stretch;gap:22px;min-width:0;padding:24px 56px 36px;border:0;overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:56px;scrollbar-width:none;overscroll-behavior-x:contain}
.company-public .service-list::-webkit-scrollbar{display:none}
.company-public .service-row,.company-public .service-row+.service-row{position:relative;display:flex;flex:0 0 300px;flex-direction:column;align-items:stretch;gap:0;min-width:0;min-height:310px;padding:30px 27px 24px;border:1px solid #65b8d0;border-radius:20px;background:#244c72;color:#fff;scroll-snap-align:start;overflow:hidden;animation:service-card-wave 8.4s ease-in-out infinite;animation-play-state:paused}
.company-public .service-row:nth-child(3n+2){background:#2167a3;border-color:#00a6dc;animation-delay:-2.8s}
.company-public .service-row:nth-child(3n){background:#e7effb;border-color:#a9c0dc;color:#173355;animation-delay:-5.6s}
.company-public .service-number{display:none}
.company-public .service-copy{position:relative;display:block;min-width:0;margin:0 0 28px;z-index:1}
.company-public .service-copy h3{margin:0;font-size:27px;line-height:1.5;font-weight:600;letter-spacing:-.035em;color:inherit}
.company-public .service-copy p{margin:18px 0 0;font-size:15px;line-height:1.85;color:inherit;opacity:.85}
.company-public .service-detail-label{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-top:auto;font-size:13px;color:inherit}
.company-public .service-arrow{font-size:28px;font-weight:300;color:inherit}
@media(hover:hover) and (pointer:fine){.company-public .service-row:hover{border-color:#54bec7;background:#2c5283}}
@media(hover:hover) and (pointer:fine){.company-public .service-row:nth-child(3n):hover{background:#f2f7fd}}
.company-public .service-card-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.3)}
.company-public .service-row[data-has-service-photo]{color:#fff}
.company-public .service-cycle{display:contents}
.company-public .service-list.is-looping{scroll-snap-type:none;scroll-behavior:auto;overflow-anchor:none}
.company-public .infrastructure-services :is(a,button,[tabindex]):focus-visible{outline-color:#b9d7ff}
.company-public .service-list>.empty-state{color:#d0ddf1}
/* Large, bright sections contrast with the service landscape. */
.company-public .home-content{padding:96px 0;border:0}
.company-public .home-content h2{font-size:clamp(2rem,3.2vw,2.75rem);line-height:1.35;letter-spacing:-.025em;font-weight:650;margin:0 0 24px;white-space:pre-line;color:var(--brand-ink)}
.company-public .home-content .section-body{font-size:1.0625rem;line-height:1.85;letter-spacing:0;color:var(--brand-muted)}
.company-public .home-editorial-copy{min-width:0}
.company-public .home-editorial-copy p{margin:0 0 16px}
.company-public .text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-height:48px;padding:10px 24px;border:1px solid var(--brand-control);border-radius:999px;color:var(--brand-navy);font-size:14px;font-weight:500}
@media(hover:hover) and (pointer:fine){.company-public .text-link:hover{border-color:var(--brand-blue);color:var(--brand-blue);background:#f7f9fd}}
.company-public .home-reference .home-editorial-layout,.company-public .home-reference .home-editorial-copy{display:block}
.company-public .home-reference-intro{max-width:700px;margin:0 auto 48px;text-align:center}
.company-public .home-reference-intro>.home-section-image{margin:24px auto;max-height:300px}
.company-public .home-reference .text-link{margin-top:10px}
.company-public .reference-material-links{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr;gap:20px;margin:0;border:0}
.company-public .reference-material-links>a{grid-column:span 2}
.company-public .reference-material-links a{display:flex;align-items:stretch;justify-content:space-between;gap:20px;min-width:0;min-height:180px;padding:28px;border:1px solid var(--brand-line);border-radius:20px;background:#f2f5fa;color:var(--brand-ink)}
@media(hover:hover) and (pointer:fine){.company-public .reference-material-links a:hover{background:#e8effa}}
.company-public .reference-material-copy{display:block;min-width:0}
.company-public .reference-material-copy strong{display:block;font-size:24px;line-height:1.5;font-weight:600}
.company-public .reference-material-description{display:block;margin-top:14px;font-size:15px;line-height:1.85;color:var(--brand-muted);overflow-wrap:anywhere}
.company-public .reference-material-arrow{align-self:end;flex-shrink:0;font-size:25px;color:#46658f}
.company-public .reference-material-links>a:nth-last-child(2):nth-child(3n+1),.company-public .reference-material-links>a:last-child:nth-child(3n+2){grid-column:span 3}
.company-public .reference-material-links>a:last-child:nth-child(3n+1){grid-column:1/-1}
.company-public .home-process{padding:0 0 100px}
.company-public .home-process::before{display:none}
.company-public .home-process>header{display:block;margin-bottom:40px}
.company-public .home-process .process-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;padding:0;margin:0;border:0}
.company-public .process-steps li,.company-public .process-steps li+li{display:block;min-width:0;padding:25px 0 0;border:0;border-top:1px solid #98c9db}
.company-public .process-number{display:block;font-size:30px;line-height:1.2;font-weight:400;margin:0 0 25px;color:var(--brand-blue)}
.company-public .process-steps h3{font-size:20px;font-weight:600;line-height:1.6;margin:0 0 14px;color:#1d3155}
.company-public .process-steps p{font-size:15px;line-height:1.85;margin:0;color:#60636c}
.company-public .home-process>.text-link{margin-top:32px}
.company-public .home-company{padding:10px 0 110px}
.company-public .home-company .home-editorial-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:44px}
.company-public .home-company .home-editorial-copy{grid-row:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);column-gap:80px;align-items:start}
.company-public .home-company .section-eyebrow{grid-column:1;grid-row:1}
.company-public .home-company h2{grid-column:1;grid-row:2/4;margin:0}
.company-public .home-company .section-body{grid-column:2;grid-row:1/3}
.company-public .home-company .text-link{grid-column:2;grid-row:3;justify-self:start;margin-top:12px}
.company-public .home-company-visual{grid-row:2;min-width:0;width:100%;margin:0}
.company-public .home-company .home-content-image{display:block;width:100%;max-width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;margin:0;border:0;border-radius:24px}
.company-public .home-company-visual figcaption{margin-top:14px;font-size:12px;line-height:1.7;text-align:center;overflow-wrap:anywhere;color:var(--brand-muted)}
.company-public .home-company:not(.has-section-image) .home-editorial-layout{display:block}
/* A light final invitation, then the company's address and navigation. */
.company-public .original-contact{width:calc(100% - 48px);max-width:1392px;height:auto;min-height:0;margin:0 auto;padding:70px 0;border:1px solid var(--brand-line);border-radius:28px;background:#eaf0fa}
.company-public .original-contact .original-width{display:block;width:1280px;max-width:calc(100% - 64px);height:auto;margin:0 auto;padding:0}
.company-public .original-contact-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 80px;width:100%;max-width:none;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;color:#1d3155}
.company-public .original-contact-info .section-eyebrow{grid-column:1;color:#656973}
.company-public .original-contact-info h2{grid-column:1;font-size:42px;line-height:1.4;font-weight:600;margin:0 0 22px;color:#1d3155}
.company-public .original-contact-info>.section-body{grid-column:1;max-width:430px;margin:0;font-size:16px;line-height:1.85;color:#60636c}
.company-public .original-contact-info dl{grid-column:2;grid-row:1/6;width:100%;border:0;margin:0}
.company-public .original-contact-info dl>div{display:grid;grid-template-columns:55px minmax(0,1fr);gap:16px;align-items:baseline;font-size:15px;line-height:1.85;padding:13px 0;margin:0;border-bottom:1px solid #a7d0df}
.company-public .original-contact-info dt{border:0;font-size:13px;line-height:1.7;font-weight:400;color:#727680}
.company-public .original-contact-info dd{max-width:none;margin:0;color:#303640;overflow-wrap:anywhere}
.company-public .original-contact-info dl>div:first-child dd a{font-size:34px;line-height:1.5;font-weight:600;letter-spacing:-.035em;color:var(--brand-navy)}
@media(hover:hover) and (pointer:fine){.company-public .original-contact-info dd a:hover{text-decoration:underline;text-underline-offset:4px}}
.company-public .original-contact-info>.home-section-image{grid-column:1;max-width:100%;margin:24px 0 0}
.company-public .original-contact-info .text-link{grid-column:1;justify-self:start;margin-top:28px}
/* Company/address and copyright share one footer row; no duplicate navigation. */
.company-public .original-footer{background:#fff;padding:34px 0 24px;text-align:left;border:0}
.company-public .footer-company-info{flex:1 1 0;min-width:0;font-size:12px;line-height:1.85;color:#62728b;overflow-wrap:anywhere}
.company-public .footer-company-name{font-size:13px;font-weight:600;color:#243a60}
.company-public .footer-company-divider{font-weight:400;color:#9aacc6}
.company-public .footer-company-info address{display:inline;max-width:none;margin:0;font-style:normal;font-size:12px;line-height:inherit;color:inherit;white-space:pre-line;overflow-wrap:anywhere}
.company-public .original-utility{display:flex;flex-wrap:nowrap;align-items:baseline;justify-content:space-between;gap:12px 32px;width:1280px;max-width:calc(100% - 112px);margin:0 auto;padding-top:18px;border-top:1px solid #d5deec;font-size:11px;letter-spacing:0;color:var(--brand-muted)}
.company-public .footer-copyright{flex:0 0 auto;max-width:100%;margin-left:auto;text-align:right;overflow-wrap:anywhere}
.company-public .original-top{height:46px;width:46px;border:1px solid #5fa6c7;border-radius:50%;background:#fff;color:var(--brand-navy);font-size:21px;box-shadow:none}
/* Shared inner-page hierarchy and service detail reading layout. */
.company-public .original-tabs{width:1280px;max-width:calc(100% - 112px);justify-content:flex-start;gap:0;margin:20px auto 24px;padding:0;border-bottom:1px solid var(--brand-line);align-items:stretch}
.company-public .original-tabs+.public-content{padding-top:0}
.company-public .original-subhero+.visually-hidden+.company-location{margin-top:24px}
.company-public .original-tabs a{display:flex;align-items:center;justify-content:center;min-height:46px;font-size:14px;line-height:1.6;font-weight:400;padding:8px 20px;color:#65707d;border-radius:0;white-space:normal;word-break:keep-all;text-align:center}
.company-public .original-tabs a.here,.company-public .original-tabs a:focus-visible{color:var(--brand-navy);background:#f1f3f6;box-shadow:inset 0 -2px var(--brand-navy)}
@media(hover:hover) and (pointer:fine){.company-public .original-tabs a:hover{color:var(--brand-navy);background:#f1f3f6;box-shadow:inset 0 -2px var(--brand-navy)}}
.company-public .original-greeting-top{align-items:start;gap:70px}
.company-public .original-greeting-top h2{font-size:26px;line-height:1.7;font-weight:600}
.company-public .original-greeting-top p{font-size:16px;line-height:1.95;color:var(--brand-muted);border-color:var(--brand-line);margin-top:32px;padding-top:28px}
.company-public .original-ci>p{line-height:1.95;color:var(--brand-muted)}
.company-public .original-ci-symbol,.company-public .original-ci-types>div>div{border-radius:0;box-shadow:none}
.company-public .original-history-row{grid-template-columns:112px minmax(0,1fr);column-gap:32px}
.company-public .original-history-year{display:block;align-self:start;justify-self:start;width:100%;height:auto;min-height:0;margin:0;padding:0 24px 0 0;border:0;border-radius:0;background:transparent;color:#242F68;box-shadow:none;font-size:34px;line-height:1.4;text-align:left;white-space:nowrap}
.company-public .original-history-year::after{content:'';position:absolute;right:0;top:.3em;width:1px;height:.8em;background:#b7c1cf}
.company-public .original-history-row:first-child .original-history-year{border:0;background:transparent;color:#242F68;box-shadow:none}
.company-public .original-history-row::before{display:none}
.company-public .original-history-content{margin:8px 0 0;font-size:15px;line-height:1.9;color:#53606f}
.company-public .original-history-content p{margin:0 0 9px}
.company-public .original-history-month{color:#244099;font-weight:600;white-space:nowrap}
.company-public .service-detail{padding-bottom:100px}
.company-public .service-detail>header{padding-bottom:42px;border-bottom:2px solid var(--brand-navy)}
.company-public .service-detail h1{font-size:36px;line-height:1.5;font-weight:600;margin:0 0 20px;letter-spacing:-.04em}
.company-public .service-lead{max-width:780px;font-size:20px;line-height:1.85;color:var(--brand-muted);margin:0}
.company-public .service-detail-sections>section{display:grid;grid-template-columns:.6fr 1.4fr;align-items:center;gap:70px;padding:28px 0;border-bottom:1px solid var(--brand-line)}
.company-public .service-detail-sections h2{font-size:20px;line-height:1.7;font-weight:600;margin:0}
.company-public .service-detail-sections .page-copy{font-size:16px;line-height:1.95;color:var(--brand-muted)}
.company-public .service-detail-actions{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin-top:24px}
.company-public :is(.home-process>.text-link,.service-detail-actions>.text-link){display:inline-flex;align-items:center;justify-content:center;gap:12px;width:fit-content;min-width:0;max-width:100%;min-height:48px;padding:10px 14px;font-size:14px;line-height:inherit;text-align:center;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}
.company-public :is(.home-process>.text-link,.service-detail-actions>.text-link)>span{position:static;inset:auto;transform:none;margin:0;flex-shrink:0;font-size:18px;line-height:1}
.company-public .button{border-radius:0;background:var(--brand-navy);border-color:var(--brand-navy);font-size:14px;padding:12px 22px}
.company-public .public-search :is(input,button){min-height:32px;height:32px;padding:4px 10px;font-size:.875rem;line-height:1.5}
.company-public .public-search input{border-color:var(--brand-control);border-radius:0;color:var(--brand-ink)}
.company-public .public-search input::placeholder{color:var(--brand-muted);opacity:1}
.company-public .public-search button{border-radius:0;background:var(--brand-navy);border-color:var(--brand-navy);padding-inline:14px}
.company-public .button.secondary{background:#fff;color:var(--brand-navy)}
.company-public .public-page-title{font-size:32px;color:var(--brand-ink);border:0;padding-bottom:0;margin-bottom:12px}
.company-public .public-content>.muted{margin:0 0 24px}
.company-public .business-introductions.company-board-promotion>header h1{font-size:32px;line-height:1.5;letter-spacing:-1px}
.company-public .business-introductions.company-board-promotion>header p{font-size:15px;line-height:1.75}
.company-public .public-board thead th:first-child{padding-left:26px}
.company-public .public-board thead th:last-child{text-align:right}
.company-public .board-date-heading{display:inline-grid;grid-template-areas:"date";vertical-align:middle;text-align:center}
.company-public .board-date-heading>span{grid-area:date}
.company-public .board-date-measure{visibility:hidden;white-space:nowrap;font-size:12px;font-weight:400}
.company-public .public-content .page-copy{max-width:75ch;font-size:1rem;line-height:1.85;letter-spacing:0}
.company-public .public-article .article-body{max-width:75ch;line-height:1.85;letter-spacing:0;overflow-wrap:anywhere}
.company-public .public-board :is(.date-cell,.board-date-heading){font-variant-numeric:tabular-nums}
.company-public .public-board .search-reset{display:inline-flex;align-items:center;min-height:36px;margin-block-start:12px;color:var(--brand-navy);font-weight:500;text-decoration:underline;text-underline-offset:4px}
.company-public .public-search{border-radius:0;background:transparent}
.company-public .business-introduction-copy h2::before{display:none}
.company-public .business-introduction-copy h2{padding-top:0}
.company-public .business-introduction-body a{color:var(--brand-blue);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.company-public .service-detail-media{margin:35px 0;display:grid;place-items:center}
.company-public .service-detail-media img{display:block;max-width:100%;max-height:420px;object-fit:contain;border:0;border-radius:0}

.company-public .original-subhero,.company-public .original-subhero.about,.company-public .original-subhero.business,.company-public .original-subhero.community{width:calc(100% - 48px);max-width:1392px;height:auto;margin:0 auto;padding:26px 0;border-radius:24px;background:#eaf0fa;color:#1d3155}
.company-public .original-subhero>.original-width{max-width:calc(100% - 64px);padding-top:0;color:#1d3155}
.company-public .original-subhero .subhero-heading{font-size:36px;line-height:1.35;font-weight:600;letter-spacing:-.035em;margin:0 0 8px}
.company-public .original-subhero p{font-size:16px;line-height:1.85;color:#60636c}
@media(min-width:761px) and (max-width:1100px){
 .company-public .original-navigation,.company-public .original-navigation.has-extra-menus{gap:3px;font-size:14px;max-width:calc(100% - 175px)}
 .company-public .original-navigation .original-nav-group>a,.company-public .original-navigation .original-nav-group>a[href$="/contact"]{padding-inline:11px}
 .company-public .original-logo img{width:150px}
 .company-public .original-slide{padding:40px 32px 24px;gap:32px}
 .company-public .original-slide-copy h1,.company-public .original-slide-copy h2{font-size:34px}
 .company-public .original-slide-background,.company-public .original-slide-copy{min-height:330px}
 .company-public .original-slide-controls{padding-inline:32px}
 .company-public .home-content h2{font-size:38px}
 .company-public .reference-material-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .company-public .reference-material-links>a:nth-child(n):nth-last-child(n){grid-column:auto}
 .company-public .reference-material-links>a:last-child:nth-child(odd){grid-column:1/-1}
 .company-public .reference-material-links>a:last-child:nth-child(even){grid-column:auto}
 .company-public .home-company .home-editorial-copy{column-gap:40px}
 .company-public .original-contact-info{column-gap:40px}
 .company-public .original-contact-info h2{font-size:34px}
 .company-public .original-contact-info dl>div:first-child dd a{font-size:28px}
}
@media(max-width:760px){
 /* Keep paragraph gaps while letting PC-only single line breaks reflow. */
 .company-public .mobile-soft-break{display:none}
 .company-public :is(h1,h2,h3){text-wrap:balance}
 .company-public :is(p,.section-body,.article-body){text-wrap:pretty}
 .company-public .original-width,.company-public .original-header-inner{max-width:calc(100% - 48px)}
 .company-public .original-header{height:auto;min-height:76px}
 .company-public .original-header-inner{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;height:auto;min-height:76px;padding:14px 0 16px;gap:12px}
 .company-public .original-logo{max-width:calc(100% - 12px)}
 .company-public .original-logo img{width:145px;max-width:100%;max-height:46px}
 .company-public .public-menu-toggle{width:44px;height:44px;padding:9px;color:var(--brand-navy)}
 /* The disclosure sits outside the header grid, so opening it never moves main. */
 .company-public .original-header .original-navigation,.company-public .original-header .original-navigation.has-extra-menus{display:none;position:absolute;inset:calc(100% + 4px) 12px auto;z-index:30;max-width:none;width:auto;height:auto;max-height:calc(100vh - 88px);max-height:calc(100dvh - 88px);margin:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;align-items:start;justify-content:stretch;padding:20px;border:1px solid var(--brand-line);border-radius:16px;box-shadow:0 16px 36px #17275824;background:#fff;font-size:14px}
 .company-public .original-navigation .original-nav-group>a,.company-public .original-navigation .original-nav-group>a[href$="/contact"]{justify-content:flex-start;height:auto;min-height:44px;padding:8px 0;border:0;border-radius:0;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;text-align:left;font-size:15px;line-height:1.6;color:var(--brand-navy)}
 .company-public .original-navigation .original-nav-group.is-current>a{color:var(--brand-navy);background:transparent;font-weight:650}
 .company-public .original-navigation .original-nav-group>a:first-child::after{content:none}
 .company-public .original-navigation .original-nav-group.is-current>a:first-child,.company-public .original-navigation .original-nav-group>a:is(:focus-visible,[aria-current="page"]){text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
 @media(hover:hover) and (pointer:fine){.company-public .original-navigation .original-nav-group>a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}}
 .company-public #navigation.is-open>.original-nav-group::before{content:none}
 .company-public .original-header .original-navigation.is-open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .company-public .original-nav-group{display:block;min-width:0}
 .company-public .original-dropdown,.company-public .has-extra-menus .original-dropdown{display:block;position:static;width:100%;min-width:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}
 .company-public .original-navigation .original-dropdown a{min-height:44px;padding:10px 8px;white-space:normal;overflow-wrap:anywhere;font-size:13px;line-height:1.7;color:#365c80;background:transparent}
 .company-public .original-navigation .original-dropdown a:is(:focus-visible,[aria-current="page"]){color:var(--brand-navy);background:transparent;border-radius:0;box-shadow:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
 @media(hover:hover) and (pointer:fine){.company-public .original-navigation .original-dropdown a:hover{color:var(--brand-navy);background:transparent;border-radius:0;box-shadow:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}}
 .company-public .original-slider{width:calc(100% - 24px);max-width:none;margin:0 auto;border-radius:22px}
  .company-public .original-slide{grid-template-columns:minmax(0,1fr);gap:24px;padding:24px 20px 0;min-height:0}
 .company-public .original-slide-background{grid-column:1;grid-row:1;inset:auto;width:100%;height:auto;min-height:0;aspect-ratio:3/2;border-radius:14px;object-position:62% center;align-self:start}
 .company-public .original-slide-copy,.company-public .has-many-links .original-slide-copy{grid-column:1;grid-row:2;inset:auto;width:auto;height:auto;min-height:0;padding:0;gap:16px;justify-content:flex-start;align-items:flex-start;text-align:left}
 .company-public .original-slide-copy h1,.company-public .original-slide-copy h2{font-size:1.8125rem;line-height:1.4;letter-spacing:-.03em}
 .company-public .original-slide-copy p{max-width:none;font-size:15px;line-height:1.85}
 .company-public .original-slide-controls{inset:auto;display:flex;justify-content:space-between;gap:12px;min-height:72px;padding:18px 20px 10px}
 .company-public .original-slide-dots{flex:1;gap:12px;align-items:center}
 .company-public .original-slide-dots button[data-slide]{display:grid;place-items:center;flex:0 0 40px;width:40px;min-height:44px;height:44px;padding:0}
 .company-public .original-slide-dots button[data-slide]::before{position:absolute;top:calc(50% - 1.5px);width:32px;height:3px}
 .company-public .original-slide-dots button[data-slide]::after{top:calc(50% - 1.5px);width:32px;height:3px}
  .company-public .original-quick,.company-public .has-many-links .original-quick{inset:auto;width:auto;max-width:none;transform:none;gap:8px;padding:12px 16px 24px}
 .company-public .original-quick a{flex:1 1 auto;min-height:44px;padding:8px 13px;gap:12px;font-size:12px}
 .company-public .original-quick .utility-arrow{font-size:17px}
 .company-public .section-eyebrow{font-size:12px;margin-bottom:14px}
 .company-public .original-business{width:calc(100% - 24px);max-width:none;margin:60px auto 0;padding:48px 0 24px;border-radius:22px}
 .company-public .original-business-intro{margin:0 auto 28px;padding:0 24px}
 .company-public .original-business-intro h2{font-size:40px;line-height:1.35}
 .company-public .original-business-intro p{margin:18px auto 0;font-size:16px;line-height:1.8}
 .company-public .service-list,.company-public .service-list.has-many-services{gap:16px;padding:20px 24px 30px;scroll-padding-inline:24px}
 .company-public .service-row,.company-public .service-row+.service-row{flex-basis:250px;min-height:305px;padding:26px 23px 22px;border-radius:18px}
 .company-public .service-copy h3{font-size:25px}
 .company-public .service-copy p{font-size:15px;margin-top:17px}
   .company-public .home-content{padding:60px 0}
 .company-public .home-content h2{font-size:32px;line-height:1.4;margin-bottom:22px}
 .company-public .home-content .section-body{font-size:15px;line-height:1.9}
 .company-public .home-reference-intro{margin-bottom:30px;text-align:left}
 .company-public .reference-material-links{grid-template-columns:minmax(0,1fr);gap:14px}
 .company-public .reference-material-links a{min-height:150px;padding:24px;border-radius:18px}
 .company-public .reference-material-links>a:nth-child(n):nth-last-child(n){grid-column:auto}
 .company-public .reference-material-copy strong{font-size:22px}
 .company-public .reference-material-description{font-size:14px;margin-top:12px}
 .company-public .home-process{padding:0 0 64px}
 .company-public .home-process>header{margin-bottom:28px}
 .company-public .home-process .process-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}
 .company-public .process-steps li,.company-public .process-steps li+li{padding:22px 0 0;border:0;border-top:1px solid #98c9db}
 .company-public .process-number{font-size:26px;margin-bottom:20px}
 .company-public .process-steps h3{font-size:18px;margin-bottom:12px}
 .company-public .process-steps p{font-size:14px;line-height:1.85}
 .company-public .home-process>.text-link{margin-top:28px}
 .company-public .home-company{padding:0 0 64px}
 .company-public .home-company .home-editorial-layout{display:grid;gap:28px}
 .company-public .home-company .home-editorial-copy{display:block}
 .company-public .home-company .home-content-image{width:100%;max-width:100%;height:auto;max-height:none;margin:0;border-radius:16px}
 .company-public .home-company-visual figcaption{font-size:11px;text-align:left;margin-top:12px}
 .company-public .home-company .text-link{margin-top:12px}
 .company-public .text-link{min-height:46px;padding:9px 20px;font-size:13px}
 .company-public .original-contact{width:calc(100% - 24px);max-width:none;padding:44px 0;border-radius:22px}
 .company-public .original-contact .original-width{max-width:calc(100% - 40px)}
 .company-public .original-contact-info{display:flex;flex-direction:column;gap:0;width:100%;padding:0;margin:0}
 .company-public .original-contact-info h2{font-size:30px;line-height:1.45;margin-bottom:20px}
 .company-public .original-contact-info>.section-body{max-width:none;font-size:15px;margin-bottom:24px}
 .company-public .original-contact-info dl>div{grid-template-columns:43px minmax(0,1fr);gap:12px;padding:14px 0;font-size:14px}
 .company-public .original-contact-info dt{font-size:12px}
 .company-public .original-contact-info dl>div:first-child dd a{font-size:26px}
 .company-public .original-contact-info>.home-section-image{margin:0 0 24px}
 .company-public .original-contact-info .text-link{align-self:start;margin-top:24px}
 .company-public .original-footer{padding:28px 0 22px}
 .company-public .original-footer .original-utility{display:block;max-width:calc(100% - 24px);padding-top:16px;font-size:10px}
 .company-public .footer-company-info{white-space:nowrap;line-height:1.8;overflow-wrap:normal}
 .company-public .footer-company-name{font-size:10px}
 .company-public .footer-company-info address{font-size:clamp(8px,2.5vw,10px);letter-spacing:-.03em;white-space:nowrap;overflow-wrap:normal}
 .company-public .footer-copyright{display:block;margin:12px 0 0;text-align:left}
 /* Keep the long mobile lists clear; the same top action sits after the footer. */
 .company-public .original-top{position:static;display:block;margin:0 24px 24px auto}
 .company-public .original-tabs{max-width:calc(100% - 40px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:16px auto 24px}
.company-public .original-tabs a{min-height:46px;padding:10px 8px;font-size:12px;border-bottom:1px solid #edf0f3}
.company-public :is(.business-tabs,.support-tabs) a:last-child:nth-child(odd){grid-column:1/-1}
.company-public .original-greeting-top{display:block}
.company-public .original-greeting-top h2{font-size:21px}
.company-public .original-greeting-top p{font-size:14px;line-height:1.95}
.company-public .original-history-row{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:16px;min-height:0;padding-bottom:28px}
.company-public .original-history-year{width:100%;height:auto;padding-right:14px;font-size:24px}
.company-public .original-history-content{margin:4px 0 0;padding:0;font-size:13px}
.company-public .original-history-content p{margin:0 0 12px}
.company-public .service-detail{padding-bottom:65px}
.company-public .service-detail>header{padding-bottom:28px}
.company-public .service-detail h1{font-size:28px;margin-bottom:17px}
.company-public .service-lead{font-size:17px;line-height:1.85}
.company-public .service-detail-sections>section{display:block;padding:26px 0}
.company-public .service-detail-sections h2{font-size:18px;margin:0 0 15px}
.company-public .service-detail-sections .page-copy{font-size:14px}
.company-public :is(.home-process>.text-link,.service-detail-actions>.text-link){min-height:46px;padding:9px 12px;font-size:12px;gap:10px}
.company-public .public-page-title{font-size:26px}
 .company-public .public-search input{font-size:1rem}
 .company-public .business-introductions.company-board-promotion>header h1{font-size:26px}
 .company-public .original-subhero+.visually-hidden+.company-location{margin-top:20px}
 .company-public .public-board{table-layout:fixed;width:100%}
 .company-public .public-board th:last-child{width:76px}
 .company-public .public-board thead th:first-child{padding-left:17px}
 .company-public .board-date-measure{font-size:10px}
 .company-public .public-board td:first-child{min-width:0;font-size:12px}
 .company-public .public-board td:first-child a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .company-public .original-subhero,.company-public .original-subhero.about,.company-public .original-subhero.business,.company-public .original-subhero.community{width:calc(100% - 24px);height:auto;padding:22px 0;border-radius:20px}
 .company-public .original-subhero>.original-width{padding-top:0}
 .company-public .original-subhero .subhero-heading{font-size:28px;line-height:1.35;margin-bottom:8px}
 .company-public .original-subhero p{font-size:14px;max-width:100%}
}
@media(max-width:359px){
 .company-public .original-width,.company-public .original-header-inner,.company-public .original-utility,.company-public .original-tabs{max-width:calc(100% - 40px)}
  .company-public .original-slide{padding:20px 16px 0;gap:20px}
 .company-public .original-slide-copy h1,.company-public .original-slide-copy h2{font-size:25px}
 .company-public .original-slide-copy p{font-size:14px}
 .company-public .original-quick,.company-public .has-many-links .original-quick{padding-inline:16px}
 .company-public .original-quick a{gap:10px;padding:8px 12px}
 .company-public .service-row,.company-public .service-row+.service-row{flex-basis:230px}
 .company-public .home-process .process-steps{column-gap:20px}
 .company-public .process-steps h3{font-size:17px}
}
@media(prefers-reduced-motion:reduce){.company-public .original-slide{transition:none}}

@keyframes service-card-wave{0%,100%{transform:translateY(8px)}50%{transform:translateY(-8px)}}
.company-public [data-service-moving="true"] .service-row{animation-play-state:running}
@media(max-width:760px){@keyframes service-card-wave{0%,100%{transform:translateY(5px)}50%{transform:translateY(-5px)}}}
@media(prefers-reduced-motion:reduce){.company-public .service-row{animation:none;transform:none}}
