/* IPAMA: a restrained institutional reading system, with intact brand artwork. */
body.portal-design,body.ipama-profile {
  --sans:"Pretendard Variable",Pretendard,"Apple SD Gothic Neo","Noto Sans KR",Arial,sans-serif;
  --portal-navy:#15334e;--portal-ink:#263845;--portal-muted:#52636f;--portal-line:#dce3e7;
  --ink:#263845;--forest:#15334e;--muted:#52636f;--line:#dce3e7;--paper:#fff;
  font-family:var(--sans);font-size:17px;line-height:1.7;letter-spacing:-.015em;color:var(--ink);background:#fff;
}
.portal-design :where(h1,h2,h3,h4,p,a,button,input,summary,small,dt,dd,li),
.ipama-profile :where(h1,h2,h3,h4,p,a,button,input,summary,small,dt,dd,li){font-family:var(--sans)}
.portal-design :where(h1,h2,h3,h4),.ipama-profile :where(h1,h2,h3,h4){color:var(--portal-navy);letter-spacing:-.025em}
.portal-design :where(a,button,input,summary):focus-visible,.ipama-profile :where(a,button,summary):focus-visible{outline:3px solid #a7833d;outline-offset:4px}
.portal-container{width:min(1180px,calc(100% - 64px))}
.portal-design .header{--brand-scale:.82;padding:12px max(32px,calc((100vw - 1180px)/2)) 0;grid-template-areas:"brand utility" "navigation navigation";grid-template-columns:1fr auto;column-gap:32px;row-gap:10px;border-top:4px solid #15334e;border-bottom:1px solid #dce3e7;box-shadow:none;background:#fff}
.portal-design .header .header-utility{align-self:center;border:0;gap:14px}
.portal-design .header .header-utility :is(a,button,summary){font-family:var(--sans);font-size:14px;color:#384f60}
.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 .header>#main-nav{justify-self:stretch;justify-content:space-between;min-height:58px;gap:18px;border-top:1px solid #e7ebee;padding:0}
.portal-design .header>#main-nav>a{font-family:var(--sans);font-size:16px;font-weight:600;line-height:1.35;gap:2px;min-height:56px;padding:8px 0;position:relative}
.portal-design .header>#main-nav>a small{font-family:var(--sans);font-size:11px;font-weight:400;color:#687986;letter-spacing:.015em}
.portal-design .header>#main-nav>a:hover>span,.portal-design .header>#main-nav>a[aria-current=page]>span{color:#9a732f;box-shadow:none}
.portal-design .header>#main-nav>a[aria-current=page]:after{content:"";position:absolute;bottom:0;height:3px;background:#ad8b46;left:0;right:0}
.portal-notice{background:#f1f4f5;color:#334b5c;border-bottom:1px solid #e3e8eb}
.portal-notice .portal-container{min-height:38px;font-size:13px;gap:14px}
.portal-notice-label{color:#81632f;font-weight:650}
.portal-notice time{border-color:#cbd5dc}
.portal-notice a{color:#334b5c;min-height:38px;font-weight:500}
.portal-home .portal-hero{width:100%;max-width:none;margin:0}
.portal-hero{grid-template-columns:minmax(360px,calc((100vw - 1180px)/2 + 425px)) minmax(0,1fr);min-height:350px;background:#edf2f3;border-bottom:1px solid #dce3e7;gap:0}
.portal-hero-copy{padding:34px 34px 34px max(32px,calc((100vw - 1180px)/2));position:relative;z-index:2;background:#edf2f3}
.portal-hero-copy:before{content:"";width:28px;height:3px;background:#ad8b46;margin-bottom:18px}
.portal-home .portal-kicker{font-family:var(--sans);font-size:11px;font-weight:600;letter-spacing:.08em;color:#667985}
.portal-hero-copy h1{font-family:var(--sans);font-size:clamp(28px,2.45vw,37px);line-height:1.32;font-weight:700;letter-spacing:-.035em;margin-top:12px;color:#15334e}
.portal-hero-copy>.portal-en{font-family:var(--sans);font-size:15px;line-height:1.5;margin-top:10px;color:#5c7180}
.portal-home .portal-hero-lead{font-size:16px;line-height:1.7;margin-top:16px;max-width:350px;color:#4c6270}
.portal-actions{gap:18px;margin-top:24px}
.portal-home .portal-button{background:#15334e;border-color:#15334e;padding:10px 16px;min-height:44px;font-size:14px;font-weight:600;gap:20px}
.portal-home .portal-button:hover{background:#294d67}
.portal-home .portal-text-link{font-family:var(--sans);font-size:14px;font-weight:550;gap:10px}
.portal-home .portal-en{font-family:var(--sans);font-weight:400;letter-spacing:0;color:#6b7c88}
.portal-home h2{font-family:var(--sans);font-size:25px;line-height:1.4;font-weight:650;letter-spacing:-.025em}
.portal-home h2>.portal-en{font-size:12px;margin-top:4px}
.portal-home h3{font-family:var(--sans);font-size:21px;line-height:1.45;font-weight:650;letter-spacing:-.025em}
.portal-home h3>.portal-en{font-size:12px;margin-top:5px}
/* Three original local videos, contained in one banner with persistent controls. */
.portal-design .portal-film.hero-film{display:block;position:relative;height:auto;min-height:350px;background:#dae3e2;scroll-margin-top:0;color:white}
.portal-film .hero-film__slide{position:absolute;inset:0 0 65px;grid-area:auto}
.portal-film .hero-film__slide:after{display:none}
.portal-film .hero-film__slide video,.portal-film .hero-film__poster{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;max-width:none}
.portal-film .hero-film__controls{position:absolute;display:flex;inset:auto 0 0;grid-area:auto;max-width:none;height:65px;min-height:65px;padding:0 24px;align-items:center;gap:18px;background:#15334e;margin:0}
.portal-film .hero-film__tabs{display:flex;flex:1;min-width:0;max-width:390px;gap:18px;align-self:stretch}
.portal-film .hero-film__tab{min-height:65px;display:flex;flex-direction:row;align-items:center;gap:8px;border-top:0;padding:9px 0;line-height:1.35;font-family:var(--sans);font-size:12px;color:#c7d3dc}
.portal-film .hero-film__tab b{font-family:var(--sans);font-size:10px;color:#d7b56d}
.portal-film .hero-film__tab:before{top:auto;bottom:0;background:#d7b56d;height:3px}
.portal-film .hero-film__tab[aria-pressed=true]{color:#fff}
.portal-film .hero-film__buttons{gap:4px;flex:none;flex-wrap:nowrap;margin-left:auto}
.portal-film .hero-film__buttons button{width:34px;height:36px;min-width:34px;border:0;border-radius:0;background:transparent;color:#fff;font-size:17px;padding:0}
.portal-film .hero-film__buttons button:hover{background:#ffffff20}
.portal-film .hero-film__buttons button.hero-music{width:34px;min-width:34px;font-size:19px}
.portal-film .hero-music-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.portal-film .hero-film__error{position:absolute;bottom:8px;left:16px;right:16px;background:#15334e;padding:8px 12px;font-size:13px;margin:0;color:white}
/* Topic navigation is the first reading block, following NCCIH's task-first hierarchy. */
.portal-topic-section{padding-block:34px 30px;border-bottom:1px solid #dce3e7}
.portal-topic-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}
.portal-search{display:flex;align-items:stretch;border:1px solid #bbcbd5;background:#fff;width:310px;max-width:100%;height:44px}
.portal-search input{width:100%;min-width:0;border:0;outline-offset:2px;background:transparent;padding:10px 14px;font:400 15px/1.4 var(--sans);color:#263845}
.portal-search button{border:0;background:#15334e;color:#fff;font:500 14px/1.4 var(--sans);min-width:64px;padding:10px 14px;cursor:pointer}
.portal-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 32px}
.portal-home .portal-topic{display:flex;align-items:center;gap:16px;min-height:76px;padding:10px 0;color:#15334e;font-size:17px;font-weight:550;border-bottom:1px solid #edf0f2}
.portal-topic>span:nth-child(2){min-width:0}
.portal-topic small{display:block;font-size:11px;font-weight:400;color:#70818e;line-height:1.4;margin-top:4px}
.portal-topic-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;border-radius:50%;background:#edf3f4;color:#42727a}
.portal-topic:nth-child(3n+2) .portal-topic-icon{color:#748149;background:#f1f3e9}
.portal-topic:nth-child(3n) .portal-topic-icon{color:#91703b;background:#f5f1e8}
.portal-topic-icon svg{width:24px;height:24px}
.portal-topic-arrow{margin-left:auto;color:#77909e;font-size:16px}
.portal-home .portal-topic:hover{color:#8a6c34}
.portal-topic:hover .portal-topic-icon{background:#e1e9ee}
.portal-work{padding-block:34px 36px}
.portal-section-heading{margin-bottom:20px}
.portal-card-grid{gap:26px}
.portal-card{border-bottom:1px solid #cfd9df}
.portal-card-image{height:180px;aspect-ratio:auto;background:#f0f3f3}
.portal-card--1 .portal-card-image{background:#f4f1eb}
.portal-card--2 .portal-card-image{background:#f6f4ee}
.portal-card--2 .portal-card-image img{object-fit:contain;object-position:center;padding:12px}
.portal-card-copy{padding:16px 22px 19px 0}
.portal-card-copy p{font-size:16px;line-height:1.65;margin-top:12px;max-width:340px}
.portal-card-arrow{font-size:20px;top:16px}
.portal-card-status{font-family:var(--sans);font-size:11px;padding:4px 8px;bottom:10px;left:10px}
.portal-news{padding-block:30px 38px;border-top:1px solid #dce3e7}
.portal-story{background:#f5f7f8;border:0;min-height:170px;grid-template-columns:106px minmax(0,1fr)}
.portal-story>img{width:106px;height:170px;min-height:0;object-fit:cover;object-position:54% 30%}
.portal-story-copy{padding:22px}
.portal-home .portal-story-copy h3{font-size:20px}
.portal-home .portal-story-copy p{font-size:15px;line-height:1.6}
.portal-home .portal-story-copy .portal-meta{font-size:12px}
.portal-date{min-height:170px;background:#ecf0ef;color:#527379}
.portal-date strong{font-size:43px;font-family:var(--sans)}
.portal-references{margin-top:22px}
.portal-references>summary{min-height:54px;font-size:15px}
.portal-references>summary>.portal-en{font-size:12px}
.portal-connect{padding-block:30px;background:#f4f3ef}
.portal-connect h2{font-size:23px}
.portal-design .portal-breadcrumb{padding:10px max(32px,calc((100vw - 1180px)/2));font-size:13px}
.portal-design .portal-panel:not(#home){scroll-margin-top:170px}
.portal-design .portal-panel:not(#home) :is(h2){font-family:var(--sans);font-size:30px;font-weight:650;letter-spacing:-.025em;line-height:1.4}
.portal-design .portal-panel:not(#home) :is(h3){font-family:var(--sans);font-size:23px;font-weight:650;letter-spacing:-.02em}
.portal-design .portal-panel:not(#home) :is(h4){font-family:var(--sans);font-size:19px;font-weight:600;letter-spacing:-.01em}
.portal-design .portal-panel:not(#home) :is(p,li,dd,address){font-size:17px;line-height:1.75;letter-spacing:-.01em}
.portal-design .portal-panel:not(#home) :is(small,.footnote,.library-scope){font-size:13px;line-height:1.65}
.portal-design .portal-panel:not(#home) :is(.section-wrap){max-width:1300px}
.portal-design #activity-gallery{max-width:1180px;width:calc(100% - 64px);padding:32px 0 44px;margin:0 auto;border-top:0;--activity-ink:#15334e;--activity-muted:#52636f}
.portal-design #activity-gallery .ipama-activity-gallery__heading{font-size:30px;display:block;margin-bottom:24px}
.portal-design #activity-gallery .ipama-activity-gallery__english{display:block;font-family:var(--sans);font-size:13px;font-weight:400;margin-top:6px;color:#6b7c88}
.portal-design #activity-gallery .ipama-activity__summary{min-height:76px;padding:20px 0;align-items:center}
.portal-design #activity-gallery .ipama-activity__date{font-family:var(--sans);font-size:14px}
.portal-design #activity-gallery .ipama-activity__body--photo{grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:32px;padding-top:8px}
.portal-design #activity-gallery .ipama-activity__figure{max-width:250px}
.portal-design #activity-gallery .ipama-activity__photo{width:100%;height:auto;max-width:250px;max-height:334px;object-fit:contain}
.portal-design #activity-gallery .ipama-activity__caption{font-size:12px;line-height:1.6;margin-top:10px}
.portal-design #activity-gallery .ipama-activity__place{color:#8a6c34;font-size:14px;font-weight:600}
.portal-design #activity-gallery .ipama-activity__link{font-size:15px}
.portal-design #activity-gallery .ipama-activity__description{font-size:17px;max-width:540px}
.portal-design footer{background:#15334e}
.portal-design footer .footer-grid{max-width:1300px}
.ipama-profile .hero h1{font-size:40px;letter-spacing:-.035em}
.ipama-profile .latin{font-family:var(--sans);font-size:20px;font-weight:500;letter-spacing:.03em}
.ipama-profile .hero .intro,.ipama-profile .record-list li{font-size:16px;line-height:1.8}
.ipama-profile .career-highlights dd,.ipama-profile .record-list p{font-size:15px;line-height:1.75}
.ipama-profile .career-highlights dt{font-size:13px}
.ipama-profile .evidence-card img{max-height:360px;width:100%;height:auto;object-fit:contain}
.ipama-profile .evidence-dogs .evidence-card img{width:auto;max-height:286px}
.ipama-profile .profile-brand strong{font-family:Georgia,serif}
@media(max-width:1100px){
 .portal-design .header{grid-template-areas:"brand utility" "brand menu";padding:12px 28px;row-gap:0;--brand-scale:.78}
 .portal-design .header>#main-nav{justify-content:flex-start;border:0;padding:16px 28px;background:#fff;gap:0}
 .portal-design .header>#main-nav>a{min-height:50px;font-size:17px;padding:10px 0}
 .portal-design .header>#main-nav>a:after{display:none}
 .portal-design .header>#main-nav>a small{font-size:12px}
 .portal-hero{grid-template-columns:minmax(330px,.9fr) minmax(0,1.3fr);min-height:350px}
 .portal-hero-copy{padding:30px 26px 30px 32px}
 .portal-hero-copy h1{font-size:31px}
 .portal-film .hero-film__controls{padding-inline:14px;gap:2px;flex-wrap:wrap;height:84px;min-height:84px;align-content:center}
 .portal-film .hero-film__slide{bottom:84px}
 .portal-film .hero-film__tabs{flex-basis:100%;gap:18px;max-width:none}
 .portal-film .hero-film__tab{min-height:34px;padding:6px 0;font-size:11px}
 .portal-film .hero-film__buttons{margin-left:auto;position:relative;gap:6px}
 .portal-film .hero-film__buttons button{height:32px}
 .portal-topic-grid{gap:4px 22px}
 .portal-home .portal-topic{font-size:16px;gap:12px}
 .portal-topic-icon{width:40px;height:40px;flex-basis:40px}
 .portal-card-image{height:155px}
}
@media(max-width:760px){
 .portal-container{width:calc(100% - 40px)}
 .portal-design .header{padding-inline:20px}
 .portal-hero{grid-template-columns:1fr;gap:0}
 .portal-hero-copy{padding:26px 24px;grid-row:2;display:block}
 .portal-hero-copy:before{display:none}
 .portal-hero-copy h1{font-size:29px;margin-top:8px;line-height:1.3}
 .portal-hero-copy>.portal-en{font-size:14px;margin-top:6px}
 .portal-home .portal-hero-lead{font-size:16px;line-height:1.65;margin-top:12px;max-width:500px}
 .portal-actions{margin-top:17px;gap:22px}
 .portal-design .portal-film.hero-film{height:260px;min-height:0;grid-row:1}
 .portal-film .hero-film__slide{bottom:54px}
 .portal-film .hero-film__controls{height:54px;min-height:54px;gap:12px;flex-wrap:nowrap;padding-inline:20px}
 .portal-film .hero-film__tabs{flex-basis:auto;gap:14px;align-self:stretch}
 .portal-film .hero-film__tab{min-height:54px;font-size:11px}
 .portal-film .hero-film__tab b{display:none}
 .portal-film .hero-film__buttons{gap:0}
 .portal-film .hero-film__buttons button{width:30px;min-width:30px;height:36px}
 .portal-film .hero-film__buttons button.hero-music{width:30px;min-width:30px}
 .portal-home h2{font-size:23px}
 .portal-topic-section{padding-block:28px 24px}
 .portal-topic-heading{align-items:flex-start;gap:16px;flex-direction:column;margin-bottom:14px}
 .portal-search{width:100%;height:44px}
 .portal-topic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 .portal-home .portal-topic{font-size:16px;line-height:1.4;min-height:81px;gap:12px}
 .portal-topic small{font-size:10px;line-height:1.35}
 .portal-topic-arrow{display:none}
 .portal-work{padding-block:28px}
 .portal-card-grid{gap:24px}
 .portal-card{display:grid;grid-template-columns:118px minmax(0,1fr);gap:20px;padding:0 0 20px;min-height:132px}
 .portal-card-image{height:128px;aspect-ratio:auto}
 .portal-card-copy{padding:0 16px 0 0}
 .portal-home .portal-card-copy h3{font-size:21px}
 .portal-card-copy p{font-size:15px;line-height:1.6;margin-top:10px}
 .portal-card-arrow{top:0;font-size:18px}
 .portal-news{padding-block:28px}
 .portal-news-grid{grid-template-columns:1fr}
 .portal-story{grid-template-columns:98px minmax(0,1fr);min-height:160px}
 .portal-story>img{width:98px;height:160px;min-height:0}
 .portal-story-copy{padding:19px}
 .portal-date{min-height:160px}
 .portal-home .portal-story-copy h3{font-size:20px}
 .portal-home .portal-story-copy p{font-size:15px}
 .portal-connect h2{font-size:22px}
 .portal-connect>.portal-container{gap:18px}
 .portal-design .portal-breadcrumb{padding-inline:20px}
 .portal-design #activity-gallery{width:calc(100% - 40px);padding-block:24px 36px}
 .portal-design #activity-gallery .ipama-activity-gallery__heading{font-size:27px}
 .portal-design #activity-gallery .ipama-activity__body{padding-left:0;padding-right:0}
 .portal-design #activity-gallery .ipama-activity__body--photo{grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:22px}
 .portal-design #activity-gallery .ipama-activity__photo{max-width:210px;max-height:280px}
 .portal-design #activity-gallery .ipama-activity__description{font-size:16px}
 .portal-design .portal-panel:not(#home) :is(h2){font-size:27px}
 .portal-design .portal-panel:not(#home) :is(p,li,dd,address){font-size:16px}
 .ipama-profile .hero h1{font-size:34px}
 .ipama-profile .career-highlights dd{font-size:14px}
}
@media(max-width:600px){
 .portal-design .header{--brand-scale:.7;grid-template-areas:"utility utility" "brand menu";padding:0 20px 10px;gap:4px 10px;border-top-width:3px}
 .portal-design .header .header-utility{min-height:40px;border-bottom:1px solid #edf0f2;gap:9px}
 .portal-design .header .header-utility :is(a,button,summary){font-size:13px}
 .portal-notice .portal-container{font-size:12px;gap:12px}
 .portal-card-grid{grid-template-columns:1fr}
 .portal-film .hero-film__tab{font-size:10px;gap:0;justify-content:center}
 .portal-film .hero-film__controls{padding-inline:12px;gap:10px}
 .portal-film .hero-film__tabs{gap:10px}
 .portal-topic-icon{width:36px;height:36px;flex-basis:36px}
 .portal-topic-icon svg{width:21px;height:21px}
 .portal-topic-grid{gap:0 16px}
 .portal-home .portal-topic{font-size:15px;gap:10px}
 .portal-design #activity-gallery .ipama-activity__body--photo{grid-template-columns:1fr;gap:20px}
 .portal-design #activity-gallery .ipama-activity__figure{max-width:220px}
 .portal-design #activity-gallery .ipama-activity__photo{max-width:220px;max-height:294px}
 .portal-design #activity-gallery .ipama-activity__summary{min-height:94px;gap:5px 14px}
 .portal-design #activity-gallery .ipama-activity__title{font-size:18px;line-height:1.55}
}
@media(max-width:380px){.portal-design .header{--brand-scale:.64;padding-inline:16px}.portal-film .hero-film__buttons button{min-width:26px;width:26px}.portal-film .hero-film__buttons button.hero-music{width:26px;min-width:26px}.portal-film .hero-film__tab{font-size:9px}.portal-topic-icon{width:31px;height:31px;flex-basis:31px}.portal-home .portal-topic{font-size:14px}}
