/* IPAMA institutional portal. Artwork and the established brand lockup stay intact. */
body.portal-design{--sans:"Noto Sans KR","Apple SD Gothic Neo",Arial,sans-serif;--portal-navy:#10375b;--portal-ink:#203443;--portal-muted:#566570;--portal-line:#dbe2e7;font:400 17px/1.75 var(--sans);color:var(--portal-ink);background:#fff;letter-spacing:-.015em}
.portal-design .topline{display:none}
.portal-design :where(h1,h2,h3,h4,h5,h6,p,a,button,input,summary,small,dt,dd,li){font-family:var(--sans)}
.portal-design :where(h1,h2,h3,h4,h5,h6){color:var(--portal-navy);letter-spacing:-.035em;word-break:keep-all}
.portal-design :where(button,input,select){font-size:16px}
.portal-design :where(a,button,input,summary):focus-visible{outline:3px solid #be9645;outline-offset:5px}
.portal-design .header{padding:12px max(32px,calc((100vw - 1240px)/2));column-gap:30px;box-shadow:none}
.portal-design .header>#main-nav{gap:24px}
.portal-design .header>#main-nav>a{font-size:15px;letter-spacing:-.02em;font-weight:600}
.portal-design .header>#main-nav>a small{font-size:12px;letter-spacing:0}
.portal-design .header>#main-nav>a[aria-current="page"]>span{color:#9a752f;box-shadow:0 2px #b89348}
.portal-design .header-utility :is(a,button,summary){font-size:14px}
.portal-design .header .ipama-wordmark strong{font-family:Palatino,"Palatino Linotype",Georgia,serif}
.portal-design .header .ipama-wordmark small{font-family:Arial,sans-serif}
.portal-design main{min-height:55vh}
.portal-design .portal-panel[hidden],.portal-design #institutional-explore,.portal-design .element-ribbon{display:none!important}
.portal-design .portal-breadcrumb[hidden]{display:none}
.portal-container{width:min(1240px,calc(100% - 64px));margin-inline:auto}
.portal-home{background:#fff}
.portal-home :where(p,h1,h2,h3,figure){margin:0}
.portal-home :where(a){color:inherit;text-decoration:none}
.portal-home .portal-kicker{font:600 12px/1.5 var(--sans);letter-spacing:.13em;color:#6b643d}
.portal-home .portal-en{display:block;font:400 14px/1.6 Arial,sans-serif;letter-spacing:0;color:var(--portal-muted);margin-top:6px}
.portal-home h2{font:700 30px/1.4 var(--sans);letter-spacing:-.04em}
.portal-home h3{font:650 23px/1.45 var(--sans);letter-spacing:-.025em}
.portal-home p{font-size:17px;line-height:1.75;color:var(--portal-muted)}
.portal-notice{background:#10375b;color:#fff}
.portal-notice .portal-container{display:flex;align-items:center;gap:18px;min-height:47px;font-size:14px;line-height:1.5}
.portal-notice-label{font-weight:600;flex:none;color:#f2d695}
.portal-notice time{font-family:Arial,sans-serif;border-left:1px solid #67809a;padding-left:18px;flex:none}
.portal-notice a{display:flex;align-items:center;gap:25px;color:#fff;font-weight:400;min-height:44px}
.portal-notice a:hover{text-decoration:underline;text-underline-offset:4px}
.portal-hero{display:grid;grid-template-columns:.9fr 1.1fr;align-items:stretch;margin-block:40px 60px;min-height:365px}
.portal-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:20px 38px 20px 0}
.portal-hero-copy h1{font:700 clamp(32px,3vw,44px)/1.38 var(--sans);letter-spacing:-.045em;margin:18px 0 0;word-break:keep-all}
.portal-hero-copy>.portal-en{font-size:17px;margin-top:12px;color:#4e687c}
.portal-home .portal-hero-lead{margin-top:23px;max-width:410px;font-size:18px;line-height:1.8}
.portal-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:28px}
.portal-home .portal-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;background:#10375b;color:#fff;min-height:48px;padding:11px 20px;font-size:16px;font-weight:600;border:1px solid #10375b}
.portal-home .portal-button:hover{background:#205075}
.portal-home .portal-text-link{display:inline-flex;align-items:center;min-height:44px;color:#10375b;font-size:15px;font-weight:600;gap:8px;white-space:normal}
.portal-home .portal-text-link:hover{text-decoration:underline;text-underline-offset:5px}
.portal-hero-image{position:relative;overflow:hidden;background:#d8e4d7;min-width:0;min-height:365px}
.portal-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 52%;position:absolute;inset:0}
.portal-hero-image figcaption{position:absolute;bottom:0;left:0;right:0;padding:40px 20px 17px;background:linear-gradient(transparent,rgba(9,31,27,.65));color:#fff;font:600 10px/1.5 Arial,sans-serif;letter-spacing:.15em;text-align:right}
.portal-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.portal-work{padding-bottom:58px}
.portal-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.portal-card{display:block;min-width:0;border-bottom:2px solid #d8e1e8}
.portal-card-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#e9eef0}
.portal-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.portal-card--0 .portal-card-image img{object-position:60% 50%}
.portal-card--1 .portal-card-image{background:#eeeae2}
.portal-card--1 .portal-card-image img{object-fit:contain;padding:18px;filter:drop-shadow(4px 5px 4px #0002)}
.portal-card--2 .portal-card-image img{object-position:center 42%}
.portal-card-status{position:absolute;bottom:13px;left:14px;background:#fff;color:#10375b;font-size:12px;line-height:1.5;padding:5px 9px}
.portal-card-copy{position:relative;padding:20px 28px 23px 0}
.portal-card-copy p{font-size:16px;line-height:1.7;margin-top:13px;max-width:320px}
.portal-card-arrow{position:absolute;right:0;top:20px;font:400 25px/1.2 Arial,sans-serif;color:#10375b}
.portal-card:hover .portal-card-image img{transform:scale(1.025)}
.portal-card:hover{border-color:#10375b}
.portal-resources{background:#edf3f6;border-block:1px solid #dfe7ec;padding-block:39px}
.portal-resource-layout{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;align-items:center}
.portal-resources .portal-kicker{color:#52697b;margin-bottom:8px}
.portal-resources p{margin-top:8px;font-size:16px}
.portal-resource-links{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.portal-resource-links>a{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #b6c8d3;min-height:56px;font-size:17px;font-weight:600;color:#10375b}
.portal-resource-links>a:hover{border-color:#10375b}
.portal-news{padding-block:55px 48px}
.portal-news-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.portal-story{display:grid;grid-template-columns:124px minmax(0,1fr);position:relative;border:1px solid #dce3e9;min-height:210px;background:#fff}
.portal-story>img{width:124px;height:100%;object-fit:cover;object-position:54% 38%;min-height:210px}
.portal-story-copy{padding:25px 24px}
.portal-home .portal-story-copy p{font-size:15px;line-height:1.7}
.portal-home .portal-story-copy .portal-meta{font-size:13px;color:#756139;margin-bottom:9px}
.portal-story-copy h3{font-size:20px;margin-bottom:10px}
.portal-story-place{font:500 13px/1.6 Arial,sans-serif;letter-spacing:.05em;color:#647480}
.portal-story-arrow{position:absolute;right:12px;bottom:8px;font-size:21px;color:#10375b}
.portal-date{background:#f2efe8;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#756139;font:600 15px/1.5 Arial,sans-serif;letter-spacing:.07em}
.portal-date strong{font:400 60px/1.2 Arial,sans-serif;letter-spacing:-.04em;color:#10375b}
.portal-story:hover{border-color:#8a9eab}
.portal-references{margin-top:34px;border-block:1px solid #dce3e9}
.portal-references>summary{list-style:none;display:flex;align-items:center;gap:14px;padding:18px 0;cursor:pointer;font-size:16px;font-weight:600;color:#10375b}
.portal-references>summary::-webkit-details-marker{display:none}
.portal-references>summary::after{content:'+';margin-left:auto;font-size:23px;font-weight:400}
.portal-references[open]>summary::after{content:'−'}
.portal-references>summary>.portal-en{margin:0;font-size:13px}
.portal-reference-body{padding:0 0 24px}
.portal-reference-body a{color:#10375b;text-underline-offset:4px}
.portal-reference-body a:hover{text-decoration:underline}
.portal-home .portal-reference-body p{font-size:16px;margin:8px 0}
.portal-reference-body small{font-size:14px;color:#647480}
.portal-connect{background:#f6f4ef;border-top:1px solid #e7e2d7;padding-block:38px}
.portal-connect>.portal-container{display:flex;align-items:center;justify-content:space-between;gap:32px}
.portal-connect h2{font-size:25px;line-height:1.5;margin-top:10px}
.portal-connect .portal-button{flex-shrink:0}
/* Topic pages keep detailed content, with conventional readable type. */
.portal-breadcrumb{background:#f7f9fa;border-bottom:1px solid #dce3e9;padding:13px max(32px,calc((100vw - 1240px)/2));font-size:14px;display:flex;gap:13px;align-items:center;color:#677987}
.portal-breadcrumb a{color:#10375b;text-underline-offset:4px;min-height:28px;display:inline-flex;align-items:center}
.portal-breadcrumb-current{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-design .portal-panel:not(#home){scroll-margin-top:160px}
.portal-design .portal-panel:not(#home) :is(h2){font:700 clamp(28px,3vw,36px)/1.4 var(--sans);letter-spacing:-.035em}
.portal-design .portal-panel:not(#home) :is(h3){font:650 23px/1.5 var(--sans);letter-spacing:-.025em}
.portal-design .portal-panel:not(#home) :is(h4){font:650 20px/1.5 var(--sans);letter-spacing:-.025em}
.portal-design .portal-panel:not(#home) :is(p,li,dd,address){font-size:17px;line-height:1.85;letter-spacing:-.015em}
.portal-design .portal-panel:not(#home) :is(summary,dt){font-size:16px;line-height:1.65}
.portal-design .portal-panel:not(#home) :is(.eyebrow,.ipama-books__eyebrow,.activity-gallery__eyebrow,.institutional-english,.association-subtitle,.resource-guide__english,.ipama-bilingual-subtitle,.heading-translation){font-size:14px;line-height:1.6;letter-spacing:.015em;font-weight:400}
.portal-design .portal-panel:not(#home) :is(small,.footnote,.library-scope,.ipama-books__academy-note,.institutional-products__note){font-size:14px;line-height:1.75}
.portal-design .portal-panel:not(#home) :is(.section-wrap){max-width:1360px}
.portal-design #academy .institutional-course h3 .institutional-english{font-size:14px;line-height:1.6}
.portal-design #philosophy .heritage-intro{font-size:18px;line-height:1.85}
.portal-design #philosophy .principles p{font-size:17px}
.portal-design .association-president p{font-size:16px}
.portal-design .association-president h3 small{font-size:13px}
.portal-design #resource-guide .portal-reference-body{padding:20px 0}
.portal-design #resource-guide .portal-references summary{font-size:17px}
.portal-design #resource-guide .portal-en{display:block;font-size:14px;color:#647480}
.portal-design #resource-guide .portal-references summary .portal-en{display:inline-block}
.portal-design #resource-guide .portal-reference-body p{font-size:16px}
.portal-design footer{background:#10375b;color:#fff;margin-top:0;padding-top:38px}
.portal-design footer .footer-name{font:700 30px/1.4 Palatino,Georgia,serif;color:#fff;letter-spacing:.025em;margin-bottom:16px}
.portal-design footer :is(p,address,a,small){font-size:14px;line-height:1.8;color:#d7e3ed}
.portal-design footer .footer-grid{padding-block:0 28px;gap:48px}
.portal-design footer .footer-grid>div:nth-child(2){display:flex;flex-wrap:wrap;align-content:flex-start;gap:14px 24px}
.portal-design footer .footer-grid>div:nth-child(2)>p{width:100%;margin-top:10px}
.portal-design footer .footer-bottom{font-size:12px;padding-block:20px;border-color:#3a5872}
@media(min-width:1101px) and (max-width:1250px){.portal-design .header{column-gap:20px}.portal-design .header>#main-nav{gap:15px}.portal-design .header>#main-nav>a{font-size:14px}}
@media(max-width:1100px){.portal-design .header{padding-inline:28px}.portal-design .header>#main-nav{gap:0}.portal-design .header>#main-nav>a{font-size:17px;min-height:50px}.portal-hero{grid-template-columns:1fr 1fr}.portal-hero-copy{padding-right:25px}.portal-hero-copy h1{font-size:34px}.portal-card-grid{gap:20px}.portal-resource-layout{gap:40px}.portal-story{grid-template-columns:92px minmax(0,1fr)}.portal-story>img{width:92px}.portal-story-copy{padding:20px}.portal-story-copy h3{font-size:19px}}
@media(max-width:760px){.portal-container{width:calc(100% - 40px)}.portal-hero{grid-template-columns:1fr;margin-block:24px 38px;min-height:0}.portal-hero-copy{padding:0 0 26px}.portal-hero-copy h1{font-size:34px;margin-top:12px}.portal-home .portal-hero-lead{font-size:17px;max-width:34em;margin-top:16px}.portal-actions{margin-top:20px}.portal-hero-image{min-height:0;aspect-ratio:16/9}.portal-notice .portal-container{gap:10px;font-size:12px;min-height:48px}.portal-notice time{padding-left:10px}.portal-notice a{gap:12px}.portal-card-grid{gap:16px}.portal-home h2{font-size:27px}.portal-home h3{font-size:21px}.portal-card-copy{padding-top:16px}.portal-card-copy p{font-size:16px}.portal-card-status{font-size:11px;left:8px;bottom:8px}.portal-resource-layout{grid-template-columns:1fr;gap:20px}.portal-resource-links{gap:0 24px}.portal-work{padding-bottom:36px}.portal-news{padding-block:36px}.portal-news-grid{grid-template-columns:1fr;gap:16px}.portal-story{min-height:180px;grid-template-columns:124px minmax(0,1fr)}.portal-story>img{width:124px;min-height:180px}.portal-story-copy{padding:20px}.portal-connect>.portal-container{align-items:flex-start;flex-direction:column;gap:20px}.portal-connect h2{font-size:24px}.portal-breadcrumb{padding-inline:20px}.portal-design footer .footer-grid{gap:24px}.portal-references>summary{flex-wrap:wrap;gap:4px 10px}.portal-references>summary>.portal-en{font-size:12px}.portal-section-heading{gap:12px}.portal-section-heading>.portal-text-link{font-size:13px}}
@media(max-width:600px){.portal-design .header{padding:0 20px 12px;gap:8px 10px}.portal-design .header-utility :is(a,button,summary){font-size:13px}.portal-hero-copy h1{font-size:31px}.portal-hero-copy>.portal-en{font-size:15px}.portal-card-grid{grid-template-columns:1fr;gap:22px}.portal-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;padding-bottom:20px;min-height:150px}.portal-card-image{height:132px;aspect-ratio:auto}.portal-card-copy{padding:0 18px 0 0}.portal-card-copy h3{font-size:21px}.portal-card-copy p{font-size:15px;margin-top:10px}.portal-card-copy .portal-en{font-size:12px;margin-top:3px}.portal-card-arrow{top:0;font-size:20px}.portal-card--1 .portal-card-image img{padding:10px}.portal-card--2 .portal-card-image img{object-position:55% 36%}.portal-card--0 .portal-card-image img{object-position:75% center}.portal-resource-links>a{font-size:16px;min-height:62px}.portal-story-copy h3{font-size:20px}.portal-story{grid-template-columns:100px minmax(0,1fr)}.portal-story>img{width:100px}.portal-story-copy{padding:17px}.portal-home .portal-story-copy p{font-size:14px}.portal-home .portal-story-copy .portal-meta{font-size:12px}.portal-date strong{font-size:48px}.portal-news .portal-section-heading{align-items:center}.portal-notice-label{display:none}.portal-notice time{padding-left:0;border:0}.portal-notice a{flex:1;justify-content:space-between}.portal-home .portal-kicker{font-size:11px}.portal-design .portal-panel:not(#home) :is(p,li,dd,address){font-size:16px;line-height:1.85}.portal-design .portal-panel:not(#home) :is(h3){font-size:22px}.portal-design .portal-panel:not(#home) :is(h2){font-size:28px}.portal-design footer .footer-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.portal-card-image img{transition:none}.portal-design{scroll-behavior:auto}}
.portal-design #academy .portal-course-visual{width:100%;height:180px;object-fit:contain;display:block;background:#fff;padding:12px;margin:0 0 22px;box-sizing:border-box}
@media(max-width:600px){.portal-design #academy .portal-course-visual{height:160px}}
