/* v217: customer-facing portal homepage. Scoped; older pages keep their CSS. */
body.portal-home { --portal-blue:#075fe5;--portal-mid:#087bea;--portal-deep:#0a3280;--portal-ink:#162b45;--portal-muted:#62748d;--portal-line:#e1eaf5;--portal-soft:#eff6ff;margin:0;background:#fff;color:var(--portal-ink);font-family:Pretendard,'Noto Sans KR','Apple SD Gothic Neo',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;line-height:1.55;overflow-x:hidden}
.portal-home *, .portal-home *::before,.portal-home *::after{box-sizing:border-box}
.portal-home a{text-decoration:none;color:inherit}
.portal-home button,.portal-home input{font:inherit}
.portal-home button{cursor:pointer}
.portal-home :focus-visible{outline:3px solid #7bbaff;outline-offset:3px}
.portal-home a:hover{color:var(--portal-blue)}
.portal-home .portal-header {height:auto;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid #e0e9f4;box-shadow:0 1px 5px rgba(21,53,88,.055);backdrop-filter:blur(15px)}
.portal-header-main{height:62px;max-width:1530px;padding:0 26px;margin:0 auto;display:flex;align-items:center;gap:24px}
.portal-header .portal-brand{width:248px;min-width:200px;max-width:248px;height:auto;display:flex;align-items:center;margin:0;flex-shrink:0}
.portal-brand img{display:block;width:100%;height:auto;aspect-ratio:481/97;object-fit:contain}
.portal-home .trademark-badge{display:none!important}
.portal-search-wrap{min-width:200px;max-width:555px;width:min(37vw,555px);margin-left:auto;margin-right:auto;position:relative;flex:1 1 auto}
.portal-search{height:42px;border:1.5px solid #0a6af0;border-radius:999px;box-shadow:0 1px 5px rgba(25,105,210,.08);display:flex;align-items:center;overflow:hidden;background:#fff}
.portal-search input{flex:1;min-width:0;border:0;padding:0 19px;height:100%;background:none;color:#19375c;outline:0!important;font-size:13px}
.portal-search input::placeholder{color:#8b98a8}.portal-search input::-webkit-search-cancel-button{cursor:pointer}
.portal-search button{width:49px;height:100%;display:grid;place-items:center;border:0;background:transparent;color:var(--portal-blue)}
.portal-search button:hover{background:#edf6ff}.portal-search svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.portal-suggest{position:absolute;z-index:110;left:3px;right:3px;top:calc(100% + 6px);background:#fff;border:1px solid #dbe9fa;border-radius:14px;box-shadow:0 15px 45px rgba(19,48,87,.19);padding:9px;max-height:260px;overflow-y:auto}
.portal-suggest[hidden]{display:none}.portal-suggest a{display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:9px;font-size:12px}.portal-suggest a:hover{background:#eff6ff}.portal-suggest a b{font-size:13px;display:block}.portal-suggest a span{color:#60738b;font-size:11px;display:block}.portal-suggest small{display:block;padding:10px;color:#6a7c92}
.portal-home .portal-actions{flex:0 0 auto;margin:0;display:flex;gap:13px;align-items:center;white-space:nowrap}
.portal-utility{font-size:12px;font-weight:750;color:#374960!important}.portal-utility+.portal-utility{padding-left:14px;border-left:1px solid #d9e2ee}
.portal-contact{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:linear-gradient(130deg,#168eff,#0055d4);color:#fff!important;font-weight:800;border-radius:10px;padding:11px 16px;box-shadow:0 4px 13px rgba(0,92,220,.17);font-size:13px}
.portal-contact:hover{filter:brightness(.95)}.portal-contact svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.portal-home .portal-nav{margin:0;border-top:1px solid #edf2f9;height:39px;display:block}
.portal-nav-inner{height:100%;max-width:1300px;margin:0 auto;display:flex;justify-content:space-around;align-items:center;gap:16px}
.portal-header .portal-nav a{height:100%;display:flex;align-items:center;justify-content:center;padding:0 14px;font-size:13px;font-weight:800;color:#293d54;border-bottom:3px solid transparent;line-height:1}
.portal-header .portal-nav a.active,.portal-header .portal-nav a:hover{color:var(--portal-blue);border-bottom-color:var(--portal-blue)}
.portal-header .portal-menu{display:none}.portal-mobile-nav{display:none!important}
.portal-main{width:100%;padding:18px 32px 45px;background:linear-gradient(180deg,#fdfefe 0,#fff 700px)}
.portal-layout{max-width:1544px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:17px;align-items:start}
.portal-maincol{min-width:0}.portal-hero{display:grid;grid-template-columns:minmax(0,2.60fr) minmax(260px,1fr);gap:13px;height:252px;margin-bottom:15px}
.portal-carousel{position:relative;border-radius:19px;overflow:hidden;background:linear-gradient(112deg,#d5eaff 0%,#edf7ff 45%,#c3e0ff 100%);box-shadow:0 5px 18px rgba(11,73,144,.07)}
.portal-slide{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .33s,visibility .33s;background:linear-gradient(118deg,#cae4ff,#f2f9ff 52%,#d5edff)}
.portal-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.portal-slide-copy{position:relative;z-index:2;padding:24px 0 18px 70px;width:66%;min-width:470px}
.portal-slide-copy>p:first-child{margin:0 0 7px;font-size:13px;font-weight:750;color:#223b61}
.portal-slide-copy h1,.portal-slide-copy h2{margin:0;max-width:540px;font-size:clamp(26px,2.28vw,36px);line-height:1.3;letter-spacing:-1.8px;font-weight:900;color:#152a46;word-break:keep-all}
.portal-slide-copy h1 strong,.portal-slide-copy h2 strong{display:block;color:#075ee4;font-weight:900}
.portal-slide-copy .portal-slide-body{margin:12px 0 17px;line-height:1.45;color:#354967;max-width:420px;font-size:12.3px;word-break:keep-all}
.portal-cta{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:0;background:linear-gradient(125deg,#1994ff,#045ee7);color:#fff!important;border-radius:999px;padding:11px 22px;font-size:13px;font-weight:850;box-shadow:0 4px 12px rgba(5,99,231,.18);text-align:center;line-height:1}
.portal-cta:hover{filter:brightness(.94)}.portal-cta span{font-size:20px;line-height:.65}
.portal-hero-photo{position:absolute;right:0;top:0;height:100%;width:48%;object-fit:cover;object-position:61% center;mix-blend-mode:multiply;opacity:.98}
.portal-slide::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,transparent 48%,rgba(239,248,255,.09) 68%,transparent)}
.portal-slide--second{background:linear-gradient(135deg,#e5f4ff 0%,#c9e5ff 100%)}
.portal-slide--third{background:linear-gradient(120deg,#f0f7ff 0%,#b7daff 100%)}
.portal-slide-icon{position:absolute;right:11%;top:12%;width:27%;height:70%;border:12px solid rgba(35,121,233,.16);border-radius:38px;display:flex;align-items:center;justify-content:center;gap:5px;transform:rotate(-8deg);color:#0875ee;font-size:65px;font-weight:900}
.portal-slide-icon span{font-size:72px}.portal-slide-icon b{position:absolute;right:-18px;top:-22px;background:#fff;border-radius:50%;height:60px;width:60px;display:grid;place-items:center;color:#1874ed;font-size:25px;box-shadow:0 7px 20px #19528b19}
.portal-slide-arrow{position:absolute;z-index:6;top:47%;transform:translateY(-50%);width:32px;height:32px;border:0;border-radius:50%;background:#fff;color:#35526e;font-size:29px;line-height:1;box-shadow:0 2px 10px #092d5929;display:grid;place-items:center;padding:0 0 4px}
.portal-slide-arrow.prev{left:10px}.portal-slide-arrow.next{right:10px}.portal-slide-arrow:hover{color:#0061df;background:#f1f7ff}
.portal-dots{position:absolute;z-index:7;bottom:10px;left:50%;transform:translateX(-50%);display:flex;gap:7px;align-items:center}
.portal-dots button{width:8px;height:8px;border:0;border-radius:50%;background:#bfccdb;padding:0;transition:width .2s}
.portal-dots button.is-active{background:#046de7;width:12px;border-radius:7px}
.portal-hero-side{display:grid;grid-template-rows:1fr 1fr;gap:10px;min-width:0}
.portal-promo{border-radius:15px;overflow:hidden;position:relative;display:flex;align-items:center;padding:16px 16px 16px 22px;min-width:0;border:1px solid #d7e9ff}
.portal-promo--light{background:linear-gradient(125deg,#f2f9ff 0%,#cee6ff 100%)}.portal-promo--navy{background:linear-gradient(125deg,#0d4d9c 0%,#0a255e 100%);border-color:#144c88;color:#fff!important}
.portal-promo>span{position:relative;z-index:2;max-width:72%}.portal-promo b{display:block;font-size:16px;font-weight:900;line-height:1.28;letter-spacing:-.7px;word-break:keep-all}.portal-promo strong{color:var(--portal-blue);font-weight:900}
.portal-promo small{display:block;max-width:210px;margin-top:7px;font-size:10.5px;line-height:1.42;color:#576a83;word-break:keep-all}.portal-promo--navy small{color:#dae8ff}
.portal-promo img{position:absolute;right:-4px;top:7px;width:38%;height:90%;object-fit:contain;mix-blend-mode:multiply}.portal-promo--navy img{right:0;top:15px;width:44%;height:74%;object-fit:cover;object-position:center 15%;border-radius:12px;opacity:.9;mix-blend-mode:normal}
.portal-promo:hover{box-shadow:0 6px 14px #0b62d51e}
.portal-section{min-width:0;margin:0 0 12px}.portal-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 8px}
.portal-section-head>div{display:flex;align-items:baseline;gap:12px;min-width:0}.portal-section-head h2{flex:0 0 auto;font-size:20px;line-height:1.3;letter-spacing:-.9px;font-weight:900;margin:0;color:#1a2c42;white-space:nowrap}
.portal-section-head h2 em{font-style:normal;color:#0756d0}.portal-section-head p{font-size:10.8px;color:#697a8d;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-section-head>a{font-size:11px;color:#516983;white-space:nowrap}.portal-section-head>a:hover{color:#0058dc}
.portal-provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.portal-vendor-card{display:flex;gap:11px;align-items:center;min-width:0;height:107px;padding:12px;background:#fff;border:1px solid var(--portal-line);border-radius:13px;box-shadow:0 1px 4px rgba(24,60,112,.04)}
.portal-vendor-thumb{flex:0 0 78px;height:78px;border-radius:11px;overflow:hidden;background:linear-gradient(135deg,#15325b,#0a6bd4);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:950;font-size:22px;letter-spacing:-1.8px}
.portal-vendor-thumb img{width:100%;height:100%;object-fit:cover}.portal-vendor-body{min-width:0;display:flex;flex-direction:column;gap:3px;flex:1}
.portal-vendor-body>a:first-child{font-size:15px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
.portal-vendor-body .portal-tags{white-space:nowrap;overflow:hidden;font-size:10px;color:#2361ad}.portal-tags span{display:inline-block;padding:2px 5px;border:1px solid #dce8f6;border-radius:5px;margin-right:4px;max-width:95%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.portal-vendor-body p{margin:1px 0;color:#64778d;font-size:10.5px;line-height:1.37;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.portal-vendor-actions{display:flex;gap:7px;margin-top:auto}.portal-vendor-actions a{font-size:10.5px;font-weight:800;color:#1762cb;border:1px solid #bbdcff;border-radius:7px;padding:4px 8px}.portal-vendor-actions a:last-child{background:#eff6ff}.portal-vendor-actions a:hover{background:#e0f0ff}
.portal-empty{padding:18px;border:1px dashed #d6e4f5;border-radius:12px;text-align:center;color:#728197;font-size:12px;grid-column:1/-1}
.portal-content-pair{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr);gap:20px}
.portal-content-pair .portal-section{min-width:0}.portal-content-pair .portal-section-head>div{gap:6px}.portal-content-pair .portal-section-head p{font-size:10px}
.portal-article-list{display:flex;flex-direction:column;gap:6px}
.portal-article-item{display:flex;align-items:center;gap:11px;min-height:68px;padding-bottom:5px;border-bottom:1px solid #edf1f6}
.portal-article-item img{width:138px;height:64px;flex:0 0 138px;object-fit:cover;border-radius:8px;background:#eff4fa}
.portal-article-item .portal-article-copy{min-width:0;flex:1}.portal-article-copy strong{display:block;font-size:12.5px;color:#24374d;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-article-copy p{font-size:10px;color:#6c7990;margin:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-article-copy small{font-size:9.5px;color:#8997aa}.portal-article-item:hover strong{color:#0b6be8}
.portal-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.portal-service{display:flex;align-items:center;gap:10px;padding:12px 11px;min-width:0;height:104px;border:1px solid var(--portal-line);border-radius:13px;background:#fff;box-shadow:0 1px 4px rgba(30,75,130,.045)}
.portal-service:hover{border-color:#94c3f7;box-shadow:0 5px 13px #125db518}.portal-service-icon{width:49px;height:49px;flex:0 0 49px;border-radius:50%;background:#ebf5ff;color:#0879f5;display:grid;place-items:center}
.portal-service-icon svg{width:27px;height:27px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.portal-service span:nth-child(2){display:block;min-width:0;flex:1}
.portal-service b{display:block;font-size:13px;color:#193653;line-height:1.4;font-weight:850}.portal-service small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:10.5px;line-height:1.38;color:#75859b;margin-top:4px}.portal-service>i{font-style:normal;font-size:24px;font-weight:400;color:#71849c}
.portal-bottom-pair{grid-template-columns:minmax(0,1.4fr) minmax(0,.88fr);margin-top:3px}
.portal-showcase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.portal-case{min-width:0;background:#fff;border:1px solid #e4ecf5;border-radius:11px;overflow:hidden;box-shadow:0 1px 3px #1044780a}
.portal-case img{width:100%;height:84px;object-fit:cover;display:block;background:#eaf4ff}.portal-case div{padding:8px}.portal-case b{display:block;font-size:11px;font-weight:800;color:#24415f;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-case small{display:block;color:#7b899e;font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}
.portal-faq-list{display:grid}.portal-faq-list details{border-bottom:1px solid #e6edf5;padding:0;background:#fff}.portal-faq-list summary{list-style:none;display:flex;align-items:center;gap:9px;padding:9px 2px;font-size:12px;color:#2a3e55;font-weight:700;cursor:pointer}.portal-faq-list summary::-webkit-details-marker{display:none}.portal-faq-list summary span{display:grid;place-items:center;flex:0 0 21px;height:21px;border-radius:6px;background:#0874e5;color:#fff;font-weight:900;font-size:11px}.portal-faq-list details p{padding:0 8px 12px 32px;color:#60748b;font-size:11px;margin:0;line-height:1.65}
.portal-sidebar{display:flex;flex-direction:column;gap:12px;min-width:0}
.portal-sidebar-card{background:#fff;border:1px solid #dce9f7;border-radius:16px;box-shadow:0 2px 5px #15437f09;padding:19px 17px}
.portal-aside-heading{display:flex;align-items:center;gap:11px}.portal-aside-heading svg{width:31px;height:31px;stroke:#0075f0;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}.portal-aside-heading h2{font-size:18px;letter-spacing:-.7px;font-weight:900;margin:0;color:#0752bf}
.portal-quick-contact{background:linear-gradient(150deg,#fff 55%,#eef6ff)}.portal-quick-contact p{font-size:12px;line-height:1.62;color:#667992;margin:11px 0 14px}.portal-cta--block{width:100%;border-radius:9px;font-size:13px;padding:12px}
.portal-spotlight{padding-bottom:10px}.portal-spotlight .portal-aside-heading h2{font-size:17px;color:#213f5e}.portal-aside-hint{margin:1px 0 5px 42px;color:#8897a6;font-size:10px}.portal-spotlight-list{list-style:none;padding:0;margin:0}.portal-spotlight-list li{display:flex;align-items:center;gap:9px;border-bottom:1px solid #eaf0f7;padding:9px 0;min-height:50px}.portal-spotlight-list li:last-child{border-bottom:0}
.portal-rank{font-size:13px;color:#6a7e97;font-weight:900;border-radius:6px;background:#f0f4fb;width:23px;height:25px;display:grid;place-items:center;flex:0 0 23px}.portal-spotlight-list li:first-child .portal-rank{color:#fff;background:#0069e9}
.portal-spotlight-logo{display:grid;place-items:center;flex:0 0 36px;height:36px;background:#eff6ff;color:#0753b3;border:1px solid #deebfa;border-radius:9px;font-size:16px;font-weight:900;overflow:hidden}.portal-spotlight-logo img{width:100%;height:100%;object-fit:cover}
.portal-spotlight-copy{min-width:0;flex:1}.portal-spotlight-copy a{font-size:12px;font-weight:850;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-spotlight-copy small{font-size:10px;color:#7a899c;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portal-advisor{position:relative;overflow:hidden;min-height:163px;background:linear-gradient(115deg,#f8fbff,#e2f0ff);display:flex;align-items:center;padding:15px 14px}
.portal-advisor-copy{position:relative;z-index:2;width:64%}.portal-advisor h2{font-size:16px;font-weight:900;margin:0;letter-spacing:-.7px;line-height:1.3}.portal-advisor h2 strong{display:block;color:#085ad0}.portal-advisor p{font-size:11px;color:#586e84;margin:8px 0}.portal-advisor a{display:inline-block;padding:5px 11px;background:#fff;border:1px solid #117af3;border-radius:999px;color:#085dc8;font-weight:800;font-size:11px}
.portal-advisor img{position:absolute;bottom:-9px;right:-3px;width:115px;height:154px;object-fit:cover;object-position:top}
.portal-floating{position:fixed;right:18px;bottom:54px;z-index:80;display:grid;gap:11px}.portal-floating a,.portal-floating button{display:grid;place-items:center;width:47px;height:47px;border-radius:50%;background:linear-gradient(125deg,#128eff,#004dce);color:#fff!important;box-shadow:0 5px 16px #073f8e39;border:0}
.portal-floating svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.portal-floating .portal-floating-top{background:#fff;color:#3a5976!important;border:1px solid #cbddeb;width:43px;height:43px;justify-self:center}
.portal-footer{padding:28px 30px;background:#f7faff;border-top:1px solid #dfebf8;margin-top:8px}.portal-footer-inner{max-width:1460px;margin:auto}.portal-footer-top{display:flex;gap:24px;align-items:center}.portal-footer-brand img{height:auto;width:205px}.portal-footer-top p{color:#6c8097;font-size:12px;margin:0}.portal-footer-links{display:flex;flex-wrap:wrap;gap:18px;margin:14px 0 11px}.portal-footer-links a{font-size:12px;font-weight:700;color:#4e6278}.portal-footer small{display:block;color:#8b9bad;font-size:10px;margin-top:5px}
@media(max-width:1430px){.portal-header-main{gap:14px;padding:0 22px}.portal-header .portal-brand{width:216px;min-width:180px}.portal-search-wrap{max-width:520px}.portal-home .portal-actions{gap:8px}.portal-utility+.portal-utility{padding-left:8px}.portal-main{padding:17px 22px 36px}.portal-layout{grid-template-columns:minmax(0,1fr) 295px;gap:13px}.portal-hero{grid-template-columns:minmax(0,2.35fr) minmax(250px,1fr)}.portal-slide-copy{padding-left:52px;min-width:410px;width:67%}.portal-slide-copy h1,.portal-slide-copy h2{font-size:29px}.portal-promo b{font-size:14px}.portal-vendor-card{padding:9px;gap:8px}.portal-vendor-thumb{flex-basis:66px;height:76px}.portal-section-head>div{gap:8px}.portal-section-head p{font-size:10px}.portal-article-item img{width:116px;flex-basis:116px}.portal-aside-heading h2{font-size:16px}}
@media(max-width:1180px){.portal-header-main{gap:12px}.portal-header .portal-brand{width:192px;min-width:172px}.portal-utility.portal-all{display:none}.portal-layout{grid-template-columns:minmax(0,1fr) 250px}.portal-hero{grid-template-columns:minmax(0,1.8fr) minmax(210px,1fr);height:264px}.portal-slide-copy{min-width:0;width:67%;padding:29px 0 10px 40px}.portal-slide-copy h1,.portal-slide-copy h2{font-size:26px}.portal-slide-copy .portal-slide-body{font-size:11px}.portal-hero-photo{width:45%}.portal-promo{padding:12px}.portal-promo b{font-size:13px}.portal-promo img{width:30%}.portal-provider-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-vendor-card:last-child:nth-child(odd){display:none}.portal-section-head p{display:none}.portal-content-pair{grid-template-columns:1fr;gap:12px}.portal-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-service{height:92px;padding:9px 7px;gap:5px}.portal-service-icon{height:38px;flex-basis:38px}.portal-service-icon svg{width:22px;height:22px}.portal-service b{font-size:12px}.portal-service small{font-size:9px}.portal-service>i{display:none}.portal-bottom-pair{grid-template-columns:1fr}.portal-main{padding-bottom:30px}}
@media(max-width:920px){.portal-layout{display:block}.portal-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:15px}.portal-advisor{display:none}.portal-hero{grid-template-columns:2fr 1fr}.portal-provider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-vendor-card:last-child:nth-child(odd){display:flex}.portal-vendor-thumb{flex-basis:57px;height:64px}.portal-vendor-body>a:first-child{font-size:13px}.portal-vendor-body p{font-size:10px}.portal-hero-photo{width:45%}.portal-header-main{height:64px}.portal-search-wrap{max-width:450px;width:auto}.portal-header .portal-brand{width:185px;min-width:165px}.portal-utility{display:none}.portal-contact{padding:10px}.portal-header .portal-nav{height:39px}}
@media(max-width:720px){.portal-home .portal-header{height:auto!important}.portal-header-main{display:grid;grid-template-columns:1fr auto;grid-template-rows:53px 45px;gap:0 12px;padding:0 14px 7px;height:auto}.portal-header .portal-brand{grid-row:1;grid-column:1;width:190px;min-width:0;max-width:190px}.portal-search-wrap{grid-row:2;grid-column:1/3;width:100%;max-width:none;margin:0}.portal-search{height:42px}.portal-search input{font-size:12px}.portal-home .portal-actions{display:none}.portal-header .portal-menu{display:flex;grid-column:2;grid-row:1;width:35px;height:35px;align-self:center;justify-self:end;border:0;background:#f1f7ff;border-radius:9px;align-items:center;justify-content:center;gap:4px;flex-direction:column;padding:0}.portal-menu span{display:block;background:#155aab;width:18px;height:2px;border-radius:4px}.portal-home .portal-nav{display:none!important}.portal-home .portal-mobile-nav:not([hidden]){display:grid!important;grid-template-columns:1fr 1fr;padding:10px 14px 15px;gap:6px;border-top:1px solid #e6eff9;background:#fff}.portal-mobile-nav a{border:1px solid #e7eef8;background:#f7faff;border-radius:7px;padding:9px 10px;font-weight:750;font-size:12px}.portal-main{padding:12px 12px 30px}.portal-hero{height:auto;display:block;margin-bottom:15px}.portal-carousel{height:286px}.portal-slide-copy{padding:23px 20px 14px 23px;width:80%;min-width:0}.portal-slide-copy h1,.portal-slide-copy h2{font-size:26px;letter-spacing:-1.1px}.portal-slide-copy .portal-slide-body{font-size:11px;max-width:245px;margin:12px 0}.portal-hero-photo{height:100%;right:-16%;width:61%;opacity:.40;object-fit:cover;object-position:left center}.portal-slide-arrow{width:26px;height:26px;font-size:24px}.portal-slide-arrow.prev{left:5px}.portal-slide-arrow.next{right:5px}.portal-slide-icon{opacity:.26;right:-5%;width:32%}.portal-hero-side{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:8px;margin-top:8px}.portal-promo{min-height:116px;padding:12px}.portal-promo>span{max-width:85%}.portal-promo b{font-size:12px}.portal-promo small{font-size:9.5px;margin-top:7px}.portal-promo img{opacity:.25;width:54%;right:-18px}.portal-promo--navy img{opacity:.24;right:0;width:48%}.portal-section-head h2{font-size:19px}.portal-section-head p{display:none}.portal-section-head>a{font-size:10px}.portal-provider-grid{grid-template-columns:1fr 1fr;gap:8px}.portal-vendor-card{height:127px;display:block;position:relative;padding:10px}.portal-vendor-thumb{float:left;width:48px;height:50px;margin:0 8px 4px 0;border-radius:8px;font-size:14px}.portal-vendor-body{display:block}.portal-vendor-body>a:first-child{font-size:12px}.portal-vendor-body .portal-tags{margin-top:4px}.portal-vendor-body p{clear:both;margin:4px 0;font-size:9.7px;-webkit-line-clamp:2}.portal-vendor-actions{position:absolute;bottom:8px;right:9px}.portal-vendor-actions a{font-size:9px;padding:3px 5px}.portal-provider-grid .portal-vendor-card:last-child:nth-child(odd){display:block}.portal-content-pair{gap:0}.portal-articles{margin-top:6px}.portal-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.portal-service{height:93px;gap:7px;padding:10px}.portal-service-icon{height:42px;flex-basis:42px}.portal-service b{font-size:12px}.portal-service small{font-size:10px}.portal-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-case img{height:100px}.portal-faq-list summary{font-size:12px}.portal-sidebar{grid-template-columns:1fr;gap:9px}.portal-spotlight{order:2}.portal-quick-contact{order:1}.portal-quick-contact p{margin:5px 0 9px}.portal-footer{padding:22px 15px 82px}.portal-footer-top{display:block}.portal-footer-top p{margin-top:8px}.portal-footer-links{gap:11px}.portal-floating{right:10px;bottom:15px;gap:8px}.portal-floating a,.portal-floating button{width:40px;height:40px}.portal-floating svg{width:20px;height:20px}}
@media(max-width:390px){.portal-header .portal-brand{width:167px}.portal-slide-copy{padding-left:25px}.portal-slide-copy h1,.portal-slide-copy h2{font-size:23px}.portal-slide-copy>p:first-child{font-size:11px}.portal-vendor-card{height:139px}.portal-service{height:103px}}
@media(prefers-reduced-motion:reduce){.portal-slide,.portal-dots button{transition:none!important}.portal-home *{scroll-behavior:auto!important}}

/* Screenshot-verified corrections: prevent legacy logo clipping and center-only footer. */
body.portal-home .portal-header .portal-brand{height:52px!important;overflow:visible!important;min-height:52px;max-height:52px}
body.portal-home .portal-footer{max-width:none;margin:0;text-align:left}
body.portal-home .portal-footer-inner{max-width:1460px;margin:0 auto;text-align:left}
body.portal-home .portal-promo--navy img{object-fit:contain;object-position:right center;right:1px;width:36%;height:72%;top:18px}
body.portal-home .portal-promo--light img{object-fit:contain;object-position:center right;right:4px;width:32%;height:78%;top:13px}

/* v221: the portal is the only owner of the mobile menu. Keep the page from shifting. */
@media(max-width:720px){
 body.portal-home .portal-header{overflow:visible}
 body.portal-home .portal-mobile-nav:not([hidden]){position:absolute;top:100%;left:0;right:0;z-index:121;max-height:calc(100dvh - 110px);overflow-y:auto;box-shadow:0 15px 30px rgba(18,56,113,.16);border-bottom:1px solid #dce8f7}
 body.portal-home .portal-menu[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
 body.portal-home .portal-menu[aria-expanded="true"] span:nth-child(2){opacity:0}
 body.portal-home .portal-menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
 body.portal-home .portal-menu span{transition:transform .18s ease,opacity .18s ease}
 body.portal-home .portal-mobile-nav a[hidden]{display:none!important}
}
@media(prefers-reduced-motion:reduce){body.portal-home .portal-menu span{transition:none!important}}
