.jhes{--jh-navy:#052f3d;--jh-teal:#00868a;--jh-gold:#e4b34e;--jh-muted:#52717a;position:relative;left:auto;right:auto;width:100%;max-width:100%;margin:0;transform:none;background:#fbfbf8;color:var(--jh-navy);font-family:Arial,Helvetica,sans-serif;font-size:19px;line-height:1.72;overflow-x:clip;min-width:0;isolation:isolate}
.jhes *,.jhes *:before,.jhes *:after{box-sizing:border-box}
.jhes a{color:inherit;text-decoration:none}
.jhes img{max-width:100%;display:block}
.jhes button{font:inherit;cursor:pointer}
.jhes :focus-visible{outline:3px solid #cf8318;outline-offset:3px}
.jhes .jhes-shell{width:min(1220px,calc(100% - 56px));margin:0 auto}
.jhes h1,.jhes h2,.jhes h3,.jhes h4{font-family:Georgia,'Times New Roman',serif;line-height:1.12;margin:0 0 18px;color:var(--jh-navy);font-weight:700}
.jhes h1{font-size:clamp(52px,6vw,86px);letter-spacing:-.035em;color:#fff;max-width:1000px}
.jhes h2{font-size:clamp(38px,4.6vw,60px);letter-spacing:-.025em}
.jhes h3{font-size:clamp(27px,2.7vw,36px)}
.jhes h1 em,.jhes h2 em{font-weight:400;font-style:italic;color:var(--jh-teal)}
.jhes .jhes-hero em{color:#efc97e}
.jhes p{font-size:19px;line-height:1.75;color:var(--jh-muted);margin:0 0 19px}
.jhes .jhes-kicker,.jhes .jhes-eyebrow{display:block;font-size:15px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--jh-teal);margin-bottom:14px}
.jhes .jhes-hero{background:linear-gradient(100deg,rgba(3,43,55,.95) 0%,rgba(3,43,55,.88) 46%,rgba(3,43,55,.62) 100%),var(--jhes-hero) center/cover no-repeat;min-height:460px;color:#fff}
.jhes .jhes-hero__inner{padding:44px 0 74px}
.jhes .jhes-hero .jhes-kicker{color:#e8bd66}
.jhes .jhes-crumb{font-size:15px;color:#d3e2e5;margin:0 0 42px}
.jhes .jhes-crumb a{border-bottom:1px solid #b5ced0}
.jhes .jhes-hero p:not(.jhes-crumb){color:#e4eeee;max-width:790px;font-size:22px;line-height:1.7}
.jhes .jhes-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:22px}
.jhes .jhes-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:16px 22px;font-size:18px;font-weight:800;line-height:1.25;border:2px solid transparent;border-radius:3px;min-height:54px;white-space:normal}
.jhes .jhes-btn--gold{background:var(--jh-gold);color:#092c37}
.jhes .jhes-btn--navy{background:var(--jh-navy);color:#fff}
.jhes .jhes-btn--ghost{border-color:#badce1;color:#fff;background:#07344299}
.jhes .jhes-btn--outline{border-color:var(--jh-teal);color:#086c72}
.jhes .jhes-textlink{font-weight:800;font-size:18px;border-bottom:1px solid var(--jh-teal);color:#00777d}
.jhes .jhes-tabs{position:sticky;top:0;z-index:20;background:#f3f0e8;border-bottom:1px solid #e2dfd4}
.jhes .jhes-tabs>.jhes-shell{display:flex;gap:30px;overflow-x:auto;padding:16px 0}
.jhes .jhes-tabs a{font-size:16px;font-weight:800;white-space:nowrap;color:#245462}
.jhes .jhes-notice{display:flex;align-items:flex-start;gap:20px;background:#f1f6f3;border-left:4px solid var(--jh-teal);padding:20px 25px;margin-top:35px;font-size:18px;line-height:1.6;color:var(--jh-muted)}
.jhes .jhes-notice b{color:var(--jh-navy);min-width:150px}
.jhes .jhes-section{padding:76px 0 22px;scroll-margin-top:85px}
.jhes .jhes-heading{display:grid;grid-template-columns:1fr 370px;gap:35px;align-items:end;margin-bottom:29px}
.jhes .jhes-heading p{margin-bottom:4px}
.jhes .jhes-program-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.jhes .jhes-program{min-width:0;background:#fff;border:1px solid #e0e7e4;box-shadow:0 14px 26px rgba(2,43,49,.04)}
.jhes .jhes-program__img{height:300px;overflow:hidden;background:#e7efe9;position:relative}
.jhes .jhes-program__img img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center 45%;display:block}
.jhes .jhes-empty-photo{height:100%;width:100%;min-height:190px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:linear-gradient(135deg,#dbe6e1,#eff2ed);color:#1d5f65;padding:25px;font:700 27px Georgia,serif}
.jhes .jhes-empty-photo small{font:normal 15px/1.5 Arial,sans-serif;max-width:285px;margin-top:15px;color:#587a7a}
/* Logos and portrait images remain fully visible without cropping away program details. */
.jhes .jhes-program--leaders .jhes-program__img{background:#f9faf6;padding:16px}
.jhes .jhes-program--leaders .jhes-program__img img{object-fit:contain;object-position:center}
.jhes .jhes-program--ubuntu .jhes-program__img{background:#e9e4dc}
.jhes .jhes-program--ubuntu .jhes-program__img img{object-fit:contain;object-position:center}
.jhes .jhes-program__body{padding:30px}
.jhes .jhes-program__body h3{font-size:32px;max-width:490px}
.jhes .jhes-program__body .jhes-fine,.jhes .jhes-fine{font-size:16px;color:#63787e;line-height:1.6}
.jhes .jhes-program__body a{color:#007981;font-weight:800;font-size:18px}
.jhes .jhes-split{display:grid;grid-template-columns:1.15fr .85fr;gap:35px;align-items:center}
.jhes .jhes-sidebox{background:#f2efe5;padding:37px;border:1px solid #e1ddcd}
.jhes .jhes-sidebox h3{font-size:38px}
.jhes .jhes-sidebox a{font-size:18px;color:#006e76;font-weight:800}
.jhes .jhes-mini-grid,.jhes .jhes-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jhes .jhes-mini-grid a,.jhes .jhes-topic{background:#fff;border:1px solid #e0e6e2;padding:25px;text-align:left;display:flex;flex-direction:column;gap:9px;color:#143e47}
.jhes .jhes-mini-grid b,.jhes .jhes-topic b{font:700 26px Georgia,serif;line-height:1.2}
.jhes .jhes-mini-grid span,.jhes .jhes-topic span{color:#58757b;font-size:17px}
.jhes .jhes-topic small{color:#00858b;font-size:16px;font-weight:800}
.jhes .jhes-rooms{display:flex;flex-direction:column;gap:34px}
.jhes .jhes-room{background:#fff;border:1px solid #e1e7e3;padding:30px}
.jhes .jhes-room__head{display:flex;justify-content:space-between;align-items:flex-end;gap:22px}
.jhes .jhes-room__head h3{font-size:39px;margin-bottom:7px}
.jhes .jhes-room__head p{margin-bottom:3px}
.jhes .jhes-capacity{color:#00777d!important;font-size:17px!important;font-weight:800;margin:12px 0!important}
.jhes .jhes-controls{display:flex;gap:8px}
.jhes .jhes-controls button{border:1px solid #b9d5d3;background:#eaf2f0;color:#035b62;width:50px;height:50px;font-size:27px;display:grid;place-items:center}
.jhes .jhes-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#8ab5b4 #ecf1ee;margin-top:15px;padding-bottom:12px}
.jhes .jhes-slide{scroll-snap-align:start;flex:0 0 72%;height:365px;position:relative;overflow:hidden;background:#e7eeea;margin:0}
.jhes .jhes-slide img{width:100%;height:100%;object-fit:cover}
.jhes .jhes-slide figcaption{position:absolute;left:0;right:0;bottom:0;color:#fff;background:linear-gradient(0deg,#062d36d9,#062d3600);padding:32px 19px 15px;font-size:17px;font-weight:750}
.jhes .jhes-slide--empty{height:260px}
.jhes .jhes-amenities,.jhes .jhes-howto{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.jhes .jhes-amenities>div,.jhes .jhes-howto>div{padding:25px;background:#eff3ef;border:1px solid #e2e9e5}
.jhes .jhes-amenities strong,.jhes .jhes-howto strong{font:700 32px Georgia,serif;color:#00868b}
.jhes .jhes-amenities h3,.jhes .jhes-howto h3{font-size:28px;margin:15px 0}
.jhes .jhes-amenities p,.jhes .jhes-howto p{font-size:17px}
.jhes .jhes-steps{padding:0;margin:25px 0;counter-reset:steps;list-style:none}
.jhes .jhes-steps li{display:grid;grid-template-columns:1fr;gap:2px;border-top:1px solid #d9e1df;padding:19px 0}
.jhes .jhes-steps b{font-size:23px;color:var(--jh-navy)}
.jhes .jhes-steps span{color:#57747c}
.jhes .jhes-stack{display:flex;align-items:start;flex-direction:column;gap:15px}
.jhes .jhes-document{display:grid;grid-template-columns:110px 1fr;gap:27px;align-items:center;background:#f1f4f0;border:1px solid #dce8e4;padding:30px}
.jhes .jhes-document__icon{height:112px;background:var(--jh-navy);color:#efc16c;font-size:30px;font-weight:800;display:grid;place-items:center}
.jhes .jhes-document h3{margin-bottom:10px}
.jhes .jhes-document p{font-size:18px}
.jhes .jhes-howto{grid-template-columns:repeat(4,minmax(0,1fr))}
.jhes .jhes-howto>div{padding:22px}
.jhes .jhes-collection-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.jhes .jhes-collection-grid>div{padding:25px;background:#fff;border:1px solid #dde6e3}
.jhes .jhes-collection-grid b{font-size:17px;color:#00898a}
.jhes .jhes-collection-grid h3{font-size:27px;margin:14px 0 0}
.jhes .jhes-footer{margin-top:85px;background:var(--jh-navy);padding:65px 0;color:#fff}
.jhes .jhes-footer__inner{display:flex;justify-content:space-between;gap:30px;align-items:center}
.jhes .jhes-footer h2{color:#fff;max-width:750px}
.jhes .jhes-footer h2 em{color:#e8bd66}
.jhes .jhes-footer p{color:#d1e1e2;max-width:700px}
@media(max-width:1050px){.jhes .jhes-heading{grid-template-columns:1fr}.jhes .jhes-amenities,.jhes .jhes-collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jhes .jhes-howto{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.jhes{font-size:18px}.jhes .jhes-shell{width:calc(100% - 36px)}.jhes p{font-size:18px}.jhes .jhes-hero__inner{padding:28px 0 55px}.jhes .jhes-hero p:not(.jhes-crumb){font-size:19px}.jhes .jhes-crumb{margin-bottom:24px}.jhes .jhes-section{padding:58px 0 12px}.jhes .jhes-program-grid,.jhes .jhes-mini-grid,.jhes .jhes-topic-grid,.jhes .jhes-split,.jhes .jhes-amenities,.jhes .jhes-collection-grid{grid-template-columns:1fr}.jhes .jhes-room{padding:17px}.jhes .jhes-room__head{align-items:flex-start;flex-direction:column}.jhes .jhes-slide{flex-basis:93%;height:280px}.jhes .jhes-document{grid-template-columns:1fr}.jhes .jhes-document__icon{height:65px;width:70px}.jhes .jhes-footer__inner{display:block}.jhes .jhes-footer__inner>a{margin-top:18px}.jhes .jhes-notice{display:block}.jhes .jhes-notice b{display:block;margin-bottom:5px}}
@media(max-width:430px){.jhes .jhes-howto{grid-template-columns:1fr}.jhes .jhes-btn{width:100%}.jhes .jhes-room__head h3{font-size:34px}.jhes .jhes-program__body{padding:22px}}
@media(prefers-reduced-motion:reduce){.jhes *{scroll-behavior:auto!important;transition:none!important}}

/* v1.0.1: Do not use viewport breakout offsets inside WordPress shortcode blocks. */
#jhhs-programs.jhes,#jhhs-hosting.jhes,#jhhs-archives.jhes{position:relative;left:auto;right:auto;width:100%;max-width:100%;margin:0;transform:none;min-width:0;box-sizing:border-box}
.jhes .jhes-program-grid>*,.jhes .jhes-rooms>*,.jhes .jhes-mini-grid>*{min-width:0}
@media(max-width:760px){.jhes .jhes-program__img{height:250px}.jhes .jhes-program--leaders .jhes-program__img{padding:12px}}
