
/* JPPRO reference exercise — exhibition service page ONLY. Original Pameran brand palette. */
.ex-editorial-page{--ex-ink:#191b21;--ex-light:#fbfaf7;--ex-muted:#656871;--ex-accent:#ef640b;background:var(--ex-light);color:var(--ex-ink);overflow:hidden;min-height:70vh;font-family:Inter,Arial,sans-serif}
.ex-editorial-page *{box-sizing:border-box}
.ex-editorial-page a{color:inherit}
.ex-editorial-page a:focus-visible,.ex-editorial-page button:focus-visible{outline:2px solid #f0782a;outline-offset:4px}
.ex-banner{height:clamp(235px,26vw,385px);position:relative;overflow:hidden;background:#1e232b}
.ex-banner>img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 44%;filter:saturate(.82) contrast(1.06) brightness(.73)}
.ex-banner:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(9,12,18,.62),transparent 55%);pointer-events:none}
.ex-banner-caption{position:absolute;z-index:1;left:max(5.2vw,24px);bottom:26px;color:#f7f7f7;font-size:10px;letter-spacing:.16em;font-weight:700;line-height:1.5}
.ex-banner-caption span{color:#ff7a25;margin:0 8px}
.ex-intro{padding:92px 0 22px;background:#fbfaf7}
.ex-intro-container{max-width:1310px;width:calc(100% - 104px);margin:auto;display:grid;grid-template-columns:minmax(0, .96fr) minmax(0,1fr);column-gap:clamp(48px,8vw,150px);align-items:start}
.ex-display-title{padding-top:0;min-width:0}
.ex-display-title h1{margin:0;display:flex;flex-direction:column;max-width:100%;font-size:clamp(93px,12.7vw,190px);font-family:'Plus Jakarta Sans',Inter,sans-serif;letter-spacing:-.105em;line-height:.98;font-weight:800}
.ex-display-title h1>span{display:block;width:max-content;max-width:100%;padding-right:.07em;white-space:nowrap;background:linear-gradient(115deg,#e05719 2%,#fb9958 48%,#d45428 97%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ex-display-title .ex-title-period{color:#1b1e25;background:none;-webkit-text-fill-color:#1b1e25}
.ex-intro-copy{padding-top:55px;max-width:470px}
.ex-eyebrow{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.18em;line-height:1.5;font-weight:800;color:#45474d;flex-wrap:wrap}
.ex-hairline{width:19px;height:1px;background:#f27427}
.ex-intro-copy h2{margin:24px 0 27px;font-family:'Plus Jakarta Sans',Inter,sans-serif;font-size:clamp(25px,2.35vw,36px);line-height:1.23;letter-spacing:-.055em;font-weight:750;color:#1d1e23}
.ex-intro-copy p{max-width:425px;color:#696c72;font-size:13px;line-height:2.05;margin:0 0 30px;font-weight:400}
.ex-subtle-link{display:inline-flex;align-items:center;gap:15px;border-bottom:1px solid #dc762d;padding:0 0 9px;font-size:11px;font-weight:750;text-decoration:none;transition:gap .18s}
.ex-subtle-link:hover{gap:23px}
.ex-gallery{background:#fbfaf7;padding:56px max(5.2vw,24px) 78px}
.ex-gallery-header{max-width:1240px;margin:0 auto 16px;display:flex;justify-content:space-between;gap:12px;color:#676a70;font-size:9px;font-weight:750;letter-spacing:.14em}
.ex-gallery-track{max-width:1240px;margin:0 auto;display:flex;gap:9px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;cursor:grab;touch-action:pan-x;scroll-padding-left:0}
.ex-gallery-track::-webkit-scrollbar{display:none}
.ex-gallery-track.is-dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.ex-gallery-card{position:relative;flex:0 0 calc((100% - 27px)/4);min-width:0;aspect-ratio:1.48/1;display:block;overflow:hidden;scroll-snap-align:start;text-decoration:none;background:#edeae6}
.ex-gallery-card img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease,filter .3s ease}
.ex-gallery-card:hover img{transform:scale(1.045);filter:brightness(.75)}
.ex-gallery-overlay{position:absolute;bottom:0;left:0;right:0;display:flex;flex-direction:column;gap:5px;padding:32px 14px 14px;color:#fff;background:linear-gradient(0deg,rgba(4,6,9,.88),transparent);opacity:0;transition:opacity .2s;pointer-events:none}
.ex-gallery-card:hover .ex-gallery-overlay,.ex-gallery-card:focus-visible .ex-gallery-overlay{opacity:1}
.ex-gallery-overlay strong{font-size:11px;line-height:1.35}
.ex-gallery-overlay span{font-size:8px;letter-spacing:.06em;opacity:.82}
.ex-gallery-controls{display:flex;align-items:center;justify-content:center;gap:25px;margin-top:22px}
.ex-gallery-arrow{appearance:none;border:0;background:none;font-size:22px;line-height:1;padding:3px 12px;color:#454545;cursor:pointer;transition:color .2s,transform .2s}
.ex-gallery-arrow:hover{color:#f06a15;transform:translateX(2px)}
.ex-gallery-arrow:disabled{opacity:.26;cursor:default;transform:none}
.ex-dots{display:flex;align-items:center;gap:8px}
.ex-dot{display:block;appearance:none;border:0;background:#d6d4d0;padding:0;border-radius:10px;width:5px;height:5px;cursor:pointer;transition:background .2s,width .2s}
.ex-dot[aria-current="true"]{background:#ee670d;width:21px}
.ex-gallery-caption{text-align:center;color:#8b8c90;font-size:10px;line-height:1.6;margin:14px 0 0}
.ex-invitation{text-align:center;background:#fbfaf7;padding:105px 22px 113px}
.ex-section-kicker{display:block;font-weight:800;letter-spacing:.2em;font-size:9px;color:#8e6750;line-height:1.6}
.ex-invitation h2{margin:19px auto 26px;max-width:970px;font-family:'Plus Jakarta Sans',Inter,sans-serif;font-size:clamp(35px,4.15vw,64px);letter-spacing:-.065em;line-height:1.18;font-weight:760;color:#1d1e24}
.ex-invitation h2 em{font-style:normal;color:#d85e21}
.ex-invitation>p{max-width:580px;margin:0 auto 28px;color:#7b7e83;font-size:13px;line-height:2}
.ex-invitation-cta{display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid #cf5e23;padding:0 0 11px;color:#272829!important;text-decoration:none;font-size:12px;font-weight:750;transition:gap .2s}
.ex-invitation-cta:hover{gap:31px}
.ex-contact-panel{display:grid;grid-template-columns:1fr 1fr;min-height:390px;background:#f1efec}
.ex-contact-visual{overflow:hidden;background:#21242a}
.ex-contact-visual img{width:100%;height:100%;min-height:390px;display:block;object-fit:cover;filter:saturate(.85)}
.ex-contact-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:52px clamp(40px,7vw,118px)}
.ex-contact-copy h2{font-family:'Plus Jakarta Sans',Inter,sans-serif;font-size:clamp(38px,3.6vw,58px);letter-spacing:-.065em;line-height:1.15;margin:15px 0 17px;color:#1c1e22}
.ex-contact-copy p{font-size:12px;color:#74777d;line-height:1.95;max-width:380px;margin:0 0 27px}
.ex-contact-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.ex-contact-actions a{font-size:11px;font-weight:750;text-decoration:none;border-bottom:1px solid #bfc0c0;padding-bottom:8px;display:inline-flex;gap:15px;align-items:center}
.ex-contact-actions a:first-child{border-color:#ed6b1e;color:#cc5312}
.ex-footer{background:#101217;color:#f4f4f2;padding:0 max(5.2vw,24px);font-family:Inter,Arial,sans-serif}
.ex-footer-top{max-width:1240px;min-height:350px;padding:84px 0 77px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.ex-footer-identity img{display:block;max-width:100%;height:auto;max-height:67px;object-fit:contain;object-position:left center}
.ex-footer-identity p{max-width:270px;font-size:12px;line-height:1.95;margin:21px 0 24px;color:#9da1ab}
.ex-footer-inline{font-size:10px;font-weight:800;letter-spacing:.14em;color:#eaa574!important;text-decoration:none}
.ex-footer-action{max-width:430px}
.ex-footer-action>span{font-size:9px;color:#e59257;font-weight:800;letter-spacing:.16em}
.ex-footer-action h2{font-family:'Plus Jakarta Sans',Inter,sans-serif;font-size:clamp(27px,3vw,39px);line-height:1.2;letter-spacing:-.055em;margin:17px 0 13px;font-weight:750}
.ex-footer-action p{font-size:12px;line-height:1.9;color:#a1a5af;max-width:340px;margin:0 0 21px}
.ex-footer-action>a{display:flex;justify-content:space-between;align-items:center;max-width:360px;border:1px solid #ec681f;padding:13px 15px;text-decoration:none;font-size:12px;font-weight:650;transition:background .2s}
.ex-footer-action>a:hover{background:#ec681f;color:#111317}
.ex-footer-action small{display:block;margin-top:15px;font-size:9px;letter-spacing:.08em;color:#858994}
.ex-footer-action small a{color:#b6b9c0;text-decoration:none}
.ex-footer-bottom{max-width:1240px;margin:auto;padding:21px 0 26px;border-top:1px solid #2b2f37;display:flex;justify-content:space-between;gap:22px;flex-wrap:wrap;font-size:9px;letter-spacing:.07em;color:#777d8a}
.ex-footer-bottom div{display:flex;gap:20px}
.ex-footer-bottom a{color:#b9bbc2;text-decoration:none}
.ex-footer a:focus-visible{outline:2px solid #ff6b00;outline-offset:4px}

@media(min-width:1440px){.ex-intro{padding-top:110px}.ex-intro-container{width:calc(100% - 130px)}}
@media(max-width:900px){.ex-intro-container{width:calc(100% - 52px);column-gap:30px;grid-template-columns:1fr 1fr}.ex-display-title h1{font-size:clamp(74px,12vw,120px)}.ex-intro-copy{padding-top:13px}.ex-intro-copy h2{margin:15px 0 15px}.ex-intro-copy p{line-height:1.75}.ex-gallery{padding:40px 26px 65px}.ex-gallery-card{flex-basis:calc((100% - 18px)/3)}.ex-contact-copy{padding:45px 32px}}
@media(max-width:650px){.ex-footer-top{display:flex;flex-direction:column;gap:45px;padding:64px 0 55px}.ex-footer-bottom{flex-direction:column;gap:13px}.ex-banner{height:240px}.ex-banner-caption{left:19px;bottom:17px;font-size:8px;letter-spacing:.095em}.ex-intro{padding:54px 0 10px}.ex-intro-container{width:calc(100% - 38px);display:flex;flex-direction:column;gap:23px}.ex-display-title h1{font-size:clamp(85px,17vw,125px);line-height:.89}.ex-intro-copy{padding-top:3px;max-width:100%}.ex-intro-copy h2{font-size:28px;margin:13px 0 16px}.ex-intro-copy p{font-size:12px;line-height:1.85;margin-bottom:17px}.ex-gallery{padding:38px 19px 46px}.ex-gallery-header{font-size:8px}.ex-gallery-header span:last-child{letter-spacing:.07em;text-align:right}.ex-gallery-card{flex-basis:83%;aspect-ratio:1.48/1}.ex-gallery-overlay{opacity:1}.ex-gallery-controls{margin-top:18px}.ex-invitation{padding:75px 25px 85px}.ex-invitation h2{font-size:clamp(34px,9vw,45px)}.ex-invitation>p{font-size:12px;line-height:1.85}.ex-contact-panel{display:flex;flex-direction:column}.ex-contact-visual img{min-height:0;height:235px}.ex-contact-copy{padding:47px 26px 55px}.ex-contact-copy h2{font-size:41px}}
@media(prefers-reduced-motion:reduce){.ex-gallery-track{scroll-behavior:auto}.ex-gallery-card img,.ex-gallery-overlay,.ex-dot,.ex-gallery-arrow,.ex-subtle-link,.ex-invitation-cta{transition:none!important}}
