/* OLN Studio Site – 1.5.0: colours come from the layout.css tokens (logo orange family), font Plus Jakarta Sans. */
:root{--oln-ivory:var(--o-bg);--oln-paper:#FFFFFF;--oln-gold:var(--o-acc);--oln-gold-d:var(--o-acc-dk);--oln-ink:var(--o-ink);--oln-muted:var(--o-muted);--oln-line:var(--o-cardline)}
.oln-root,.oln-viewer{color:var(--oln-ink);font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.oln-root *,.oln-viewer *{box-sizing:border-box}
.oln-root [hidden],.oln-viewer [hidden]{display:none!important}

/* gallery */
.oln-gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.oln-gal--feed{grid-template-columns:repeat(4,minmax(0,1fr))}
.oln-item{background:var(--oln-paper);border:1px solid var(--oln-line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s ease}
.oln-item:hover{border-color:var(--oln-gold)}
.oln-item.is-hidden{display:none}
.oln-root .oln-item__media,.oln-root .oln-item__media:hover,.oln-root .oln-item__media:focus{position:relative;display:block;width:100%;aspect-ratio:4/5;margin:0;padding:0;border:0;border-radius:0;background:var(--o-bg2);cursor:zoom-in;overflow:hidden;box-shadow:none}
.oln-item__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.oln-root .oln-item__media:focus-visible{outline:3px solid var(--oln-gold);outline-offset:-3px}
.oln-item__media--none{display:flex!important;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--oln-muted);cursor:default!important}
.oln-item__body{padding:12px 14px 14px;display:flex;flex-direction:column;gap:3px}
.oln-root h3.oln-item__name{margin:0;font-size:16px;line-height:1.3;font-weight:600;color:var(--oln-ink);letter-spacing:0;text-transform:none}
.oln-root .oln-item__acc{font-size:13px;color:var(--oln-gold-d);text-decoration:none;word-break:break-all}
.oln-root .oln-item__acc:hover{text-decoration:underline}
.oln-item__st{margin:4px 0 0;font-size:11.5px;font-weight:600;color:var(--oln-muted)}
.oln-item__st.oln-st--live{color:var(--o-acc-dk)}
.oln-more-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:28px}
.oln-count{font-size:13px;color:var(--oln-muted)}
.oln-note{margin:22px auto 0;max-width:760px;text-align:center;font-size:13px;line-height:1.6;color:var(--oln-muted)}

/* buttons */
.oln-root .oln-btn,.oln-viewer .oln-btn{display:inline-flex;align-items:center;justify-content:center;height:46px;padding:0 22px;border-radius:10px;border:1.5px solid var(--o-acc);background:var(--o-acc);color:#FFFFFF!important;font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:15px;font-weight:700;letter-spacing:0;line-height:1;text-decoration:none;text-transform:none;white-space:nowrap;cursor:pointer;box-shadow:none}
.oln-root .oln-btn:hover,.oln-viewer .oln-btn:hover{background:var(--o-acc-hi);border-color:var(--o-acc-hi)}
.oln-root .oln-btn--ghost,.oln-viewer .oln-btn--ghost{background:transparent;color:var(--o-acc)!important}
.oln-root .oln-btn--ghost:hover,.oln-viewer .oln-btn--ghost:hover{background:var(--o-tint);color:var(--o-acc)!important;border-color:var(--o-acc)}
.oln-root .oln-btn--off,.oln-root .oln-btn--off:hover{background:var(--o-bg2);border-color:var(--o-line);color:var(--o-muted)!important;cursor:not-allowed}
.oln-root .oln-btn:focus-visible,.oln-viewer .oln-btn:focus-visible{outline:3px solid var(--oln-gold);outline-offset:2px}
.oln-badge{display:inline-block;vertical-align:middle;margin-left:6px;padding:3px 8px;border-radius:999px;background:var(--o-tint);color:var(--oln-gold-d);font-size:11px;font-weight:700;letter-spacing:.03em;line-height:1.3;white-space:nowrap}

/* mosaic */
.oln-mosaic{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
.oln-mosaic img{width:100%;height:auto!important;aspect-ratio:4/5;object-fit:cover;object-position:center top;border-radius:10px;display:block}
.oln-mosaic--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.oln-mosaic--1{grid-template-columns:minmax(0,1fr)}

/* instagram card */
.oln-ig{background:var(--oln-paper);border:1px solid var(--oln-line);border-radius:10px;padding:22px;display:flex;flex-direction:column;gap:14px;max-width:420px}
.oln-ig__head{display:flex;align-items:center;gap:14px}
.oln-ig__av{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--o-line);background:#FFFFFF;display:flex;align-items:center;justify-content:center;overflow:hidden}
.oln-ig__av--logo img{width:78%;height:auto;object-fit:contain}
.oln-ig__av--txt{color:var(--oln-gold);font-weight:800;font-size:15px;letter-spacing:.06em}
.oln-ig__id p{margin:0}
.oln-ig__name{font-weight:700;font-size:16px}
.oln-ig__handle{font-size:14px;color:var(--oln-muted)}
.oln-ig__bio{margin:0;font-size:14px;line-height:1.55;color:var(--oln-muted)}
.oln-ig__note{margin:-4px 0 0;font-size:12.5px;color:var(--oln-muted)}
.oln-ig__link{color:inherit;text-decoration:none;border-bottom:1px solid var(--oln-gold)}
.oln-ig__link:hover{color:var(--oln-gold-d)}
.oln-ig__collab{margin:0;font-size:14px;line-height:1.55;color:var(--oln-ink);font-weight:600}
.oln-ig .oln-btn{align-self:flex-start}
.oln-ig--compact{padding:0;border:0;background:transparent;gap:6px}
.oln-ig--compact .oln-ig__link{border:0;font-weight:600}
.oln-ig--compact .oln-ig__note{margin:0}

/* contact list */
.oln-k ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.oln-k li{display:flex;flex-direction:column;gap:2px}
.oln-k__l{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--oln-gold)}
.oln-k__v{font-size:15px;color:inherit;text-decoration:none}
a.oln-k__v:hover{text-decoration:underline}
.oln-k--dark{color:var(--oln-ivory)}
.oln-k--dark .oln-badge{background:rgba(255,255,255,.12);color:var(--o-tint2)}

/* viewer */
.oln-viewer{border:0;padding:0;border-radius:18px;width:calc(100% - 32px);max-width:920px;background:var(--oln-paper);color:var(--oln-ink);overscroll-behavior:contain}
.oln-viewer[open]{position:fixed;inset:0;margin:auto;height:fit-content;max-height:94vh;overflow:auto}
.oln-viewer::backdrop{background:rgba(58,24,54,.72)}
.oln-viewer__in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.oln-viewer__stage{background:var(--o-bg2);display:flex;align-items:center;justify-content:center;padding:14px;min-height:360px}
.oln-viewer__stage img{display:block;max-width:100%;max-height:min(80vh,820px);width:auto;height:auto;object-fit:contain;border-radius:6px}
.oln-viewer__info{padding:22px 24px;display:flex;flex-direction:column;gap:8px}
.oln-viewer__top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.oln-viewer__pf{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--oln-gold-d);font-weight:700}
.oln-viewer p{margin:0}
.oln-viewer__name{font-size:21px;font-weight:700;line-height:1.25}
.oln-viewer__handle{font-size:14px;color:var(--oln-muted)}
.oln-viewer__st{margin:8px 0 4px;padding:12px 0 0;border-top:1px solid var(--oln-line);display:flex;flex-direction:column;gap:8px;font-size:13.5px}
.oln-viewer__st div{display:flex;flex-direction:column;gap:1px}
.oln-viewer__st dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--oln-muted);font-weight:700}
.oln-viewer__st dd{margin:0}
.oln-viewer__btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.oln-viewer__nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--oln-line);font-size:13px;color:var(--oln-muted)}
.oln-viewer .oln-x,.oln-viewer .oln-x:hover,.oln-viewer .oln-x:focus,.oln-viewer .oln-navbtn,.oln-viewer .oln-navbtn:hover,.oln-viewer .oln-navbtn:focus{flex:none;min-width:44px;height:44px;padding:0;border:1px solid var(--oln-line);border-radius:10px;background:#fff;color:var(--oln-ink);font-size:24px;line-height:1;cursor:pointer;box-shadow:none;font-family:inherit}
.oln-viewer .oln-navbtn:disabled{opacity:.35;cursor:default}
.oln-viewer .oln-x:focus-visible,.oln-viewer .oln-navbtn:focus-visible{outline:3px solid var(--oln-gold);outline-offset:2px}
html.oln-lock,html.oln-lock body{overflow:hidden}
html.oln-lock body{position:fixed;left:0;right:0;width:100%}

@media (max-width:1024px){.oln-gal,.oln-gal--feed{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){
.oln-gal--feed .oln-item:nth-child(n+7){display:none}
.oln-gal,.oln-gal--feed{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.oln-item{border-radius:10px}
.oln-item__body{padding:9px 10px 11px}
.oln-root h3.oln-item__name{font-size:16px}
.oln-root .oln-item__acc{font-size:12px}
.oln-item__st{font-size:10.5px}
.oln-more-wrap{margin-top:20px}
.oln-ig{padding:18px}
.oln-viewer__in{grid-template-columns:minmax(0,1fr)}
.oln-viewer[open]{max-height:92dvh}
.oln-viewer__stage{min-height:240px;padding:10px}
.oln-viewer__stage img{max-height:46dvh}
.oln-viewer__info{padding:16px 16px 14px}
.oln-viewer .oln-x{position:absolute;top:10px;right:10px;z-index:2;background:rgba(255,255,255,.95)}
.oln-viewer__nav{position:sticky;bottom:0;background:var(--oln-paper);padding-bottom:4px}
.oln-viewer__btns .oln-btn{flex:1 1 auto}
}
@media (prefers-reduced-motion:reduce){.oln-item{transition:none}.oln-item:hover{transform:none}}

.oln-item__camp{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--oln-gold)}

/* 1.3.0 */
.oln-item__st.oln-st--checked{color:var(--o-acc-dk)}
.oln-item__st.oln-st--pending,.oln-item__st.oln-st--unverified{color:var(--o-muted)}
.oln-item__st.oln-st--removed{color:var(--o-muted)}
.oln-item__arch{margin:2px 0 0;font-size:11px;color:var(--oln-muted)}
.oln-viewer__btns{margin:10px 0 2px}
.oln-viewer__st{margin-top:10px}
.oln-k__v .oln-badge{margin-left:4px}
@media (max-width:767px){
.oln-item__arch{font-size:10px}
.oln-viewer[open]{height:fit-content;max-height:92dvh}
.oln-viewer__stage{min-height:0;padding:10px 10px 8px}
.oln-viewer__stage img{max-height:34dvh}
.oln-viewer__info{padding:12px 16px 0;gap:4px}
.oln-viewer__top{min-height:0}
.oln-viewer .oln-x{position:absolute;top:8px;right:8px;z-index:3;background:rgba(255,255,255,.96)}
.oln-viewer__name{font-size:18px;padding-right:4px}
.oln-viewer__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 0}
.oln-viewer__btns .oln-btn{height:40px;padding:0 10px;font-size:13px;letter-spacing:0}
.oln-viewer__btns .oln-btn[hidden]{display:none}
.oln-viewer__st{font-size:12.5px;gap:6px;padding-top:10px}
.oln-viewer__nav{position:sticky;bottom:0;z-index:2;background:var(--oln-paper);margin:8px -16px 0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--oln-line)}
}

.oln-item__link{margin:2px 0 0;font-size:12px;font-weight:600;color:var(--o-acc-dk)}
@media (max-width:767px){.oln-item__link{font-size:10px}}
