/* Independent material tiles: expanding one must never stretch its neighbours. */
.identity-site .occasion-library .attachment-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:16px}
html .identity-site .material-tile{background:#0c2931!important;border:1px solid #bcd8d724!important;border-radius:16px!important;box-shadow:0 8px 24px #00000012;overflow:hidden}
.identity-site .material-heading{display:flex;align-items:center;gap:10px;padding:16px;min-width:0;border-bottom:1px solid #bcd8d714}
.identity-site .material-heading>div{min-width:0}
.identity-site .material-heading small{font-size:10px;color:#a4c7c3;letter-spacing:.2px}
.identity-site .material-heading h4{font-size:16px;line-height:1.65;margin:3px 0 0;color:#eef6f3;overflow-wrap:anywhere}
html .identity-site .material-tile .material-content{background:transparent!important;padding:14px}
html .identity-site .material-tile--audio .institutional-audio{border:0;background:transparent!important;padding:0;box-shadow:none}
.identity-site .material-tile--audio .institutional-audio header{display:none}
.identity-site .material-tile--image{display:flex;flex-direction:column}
.identity-site .material-tile--image .material-heading{order:0;border-bottom:0;padding:0 0 12px}
.identity-site .material-tile--image .material-content{order:1}
.identity-site .material-tile--image .material-symbol{display:none}
html .identity-site .material-tile--image .material-content>img{height:280px;max-height:none;object-fit:contain;background:#061d24;border-radius:10px}
.identity-site .material-tile--image .card-preview-actions{justify-content:space-between;border-top:0;margin-top:4px}
.identity-site .material-tile--file,.identity-site .material-tile--pdf{border-inline-start:3px solid #c9ab65!important}
.identity-site .material-tile:focus-within{border-color:#42c2aa!important}
.identity-site .attachment-grid,.identity-site .record-gallery{align-items:start}
.identity-site .attachment-grid>.attachment-card{align-self:start;min-width:0;height:auto;min-height:0}
.identity-site .material-card summary{min-height:76px;padding:14px;gap:10px}
.identity-site .material-card summary>span:nth-child(2){min-width:0;flex:1}
.identity-site .material-card summary strong{font-size:15px;line-height:1.65;margin-top:3px}
.identity-site .material-symbol{width:36px;height:36px;font-size:20px}
.identity-site .material-expand{width:24px;text-align:center;flex:none}
html .identity-site .material-card .material-content{padding:0 14px 14px}
.identity-site .material-content>img{display:block;width:100%;height:auto;max-height:320px;object-fit:contain;border-radius:10px;background:#09282f}
.identity-site .material-content video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#061d24;border-radius:10px}
html .identity-site .material-content .institutional-audio{padding:14px;border-radius:12px}
.identity-site .material-content .institutional-audio header{margin-bottom:8px}
.identity-site .material-group-title{padding:10px 12px;margin:24px 0 12px;line-height:1.6}
.identity-site .card-preview-actions,.identity-site .media-reading-tools{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:6px;padding:10px 0 0;margin-top:10px;border-top:1px solid #bcd8d720}
.identity-site :is(.card-preview-actions,.media-reading-tools)>:is(button,a,select),html .identity-site a.record-download{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:6px;width:auto;max-width:100%;min-height:36px;padding:6px 10px;border:1px solid #bcd8d730;border-radius:8px;background:#ffffff06!important;color:#d9eeea!important;font-family:inherit;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none;white-space:normal;overflow-wrap:anywhere}
.identity-site .media-reading-tools>button{width:36px;padding:7px}
.identity-site :is(.card-preview-actions,.media-reading-tools) svg{width:18px;height:18px;flex:none}
.identity-site :is(.card-preview-actions,.media-reading-tools)>:is(button,a):hover{background:#1ab39420!important;border-color:#26b99e}
.identity-site :is(.card-preview-actions,.media-reading-tools)>:focus-visible{outline:2px solid #5fdbc0;outline-offset:3px}
.identity-site .card-preview-actions>[role=status],.identity-site .media-reading-tools>[role=status]{flex-basis:100%;border:0;background:none;padding:0;font-size:12px}
.identity-site .card-preview-actions>[role=status]:empty{display:none}
@media(pointer:coarse){.identity-site :is(.card-preview-actions,.media-reading-tools)>:is(button,a,select),html .identity-site a.record-download{min-height:44px}.identity-site .media-reading-tools>button{width:44px}}
@media(max-width:600px){.identity-site .occasion-library .attachment-grid{grid-template-columns:minmax(0,1fr)}.identity-site .material-card summary{min-height:72px}.identity-site .material-content>img{max-height:280px}}

/* Each medium has its own reading/browsing rhythm, not a universal card. */
/* Shared action hierarchy and medium-specific presentation across all sections. */
.identity-site .document-action-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-block:10px;max-width:100%}
.identity-site .document-action-bar .pdf-reader{flex-basis:100%;order:3;min-width:0}
html .identity-site .document-action-bar>a{display:inline-flex;width:auto;min-height:40px;padding:8px 10px;background:transparent!important;border:0!important;color:#b8d0ca!important;font-size:12px;font-weight:500;text-decoration:none}
.identity-site .document-action-bar>a:before{content:'↓';font-size:18px;margin-inline-end:6px}
@media(pointer:coarse){html .identity-site .document-action-bar>:is(a,button),html .identity-site .card-preview-actions>:is(a,button){min-height:44px}}
html .identity-site :is(.card-preview-actions,.media-reading-tools)>a{background:transparent!important;border-color:transparent;color:#b8d0ca!important}
html .identity-site .card-preview-actions>button,html .identity-site .pdf-reader-open{background:#164b4c!important;border:1px solid #5ca99b44;color:#e5f3ef;border-radius:9px;min-height:40px;padding:7px 12px;font-family:inherit;font-size:12px}
.identity-site .record-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:24px;align-items:start}
html .identity-site .record-gallery figure{display:inline-block;width:100%;min-width:0;box-sizing:border-box;break-inside:avoid;margin:0 0 18px;padding:0;border:0!important;border-radius:0;overflow:visible;background:transparent!important;box-shadow:none}
.identity-site .record-gallery figure img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:var(--card-aspect,3/4);object-fit:contain;box-sizing:border-box;padding:8px;border-radius:12px;background:#0b252c;border:1px solid #bcd8d718}
.identity-site .record-gallery figcaption{padding:8px 0;font-size:13px;color:#b8d0ca}
html .identity-site .record-player{padding:0;background:transparent!important;border:0;box-shadow:none}
.identity-site .record-player>strong{display:block;margin-bottom:10px;font-size:13px}
.identity-site .record-player>video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#061821;border-radius:12px}
.identity-site .record-audio{border-block:1px solid #bcd8d722;padding:14px 0;margin-block:16px}
html .identity-site .record-audio .institutional-audio{background:transparent!important;border:0;padding:0;box-shadow:none}
.identity-site .record-gallery figcaption{margin:0 0 10px;padding:8px 10px;font-size:15px;font-weight:700;color:#e5f3ef;line-height:1.8;display:block;overflow:visible;white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:unset;min-height:0}
.material-video-stage{position:relative;aspect-ratio:16/9;border-radius:12px;overflow:hidden}
.material-video-cover{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#071821;cursor:pointer;color:#f3e8cc;font:inherit}
.material-video-cover[hidden]{display:none}
.material-video-cover img{display:block;width:100%;height:100%;object-fit:cover}
.material-video-cover span{position:absolute;inset-inline:0;bottom:14px;font-size:12px;text-align:center;text-shadow:0 1px 4px #000}
.material-video-cover:focus-visible{outline:3px solid #5fdbc0;outline-offset:-4px}
html .identity-site .attachment-card.material-tile{background:transparent!important;box-shadow:none;border:0!important}
html .identity-site .attachment-card.material-tile--audio{border-bottom:1px solid #bcd8d724!important}
html .identity-site .material-tile--audio .audio-controls .audio-play{background:#21b59b;color:#052b2a;border-radius:50%}
html .identity-site .material-tile .pdf-reader-open{display:inline-flex;align-items:center;justify-content:center;min-height:36px;margin:0;padding:6px 10px;font:600 12px/1.4 inherit;font-family:inherit;font-size:12px;border-radius:8px;border:1px solid #ccb77d77;color:#e3d3a5;background:#ffffff06}
.identity-site .material-tile--video .media-reading-tools{gap:4px}
.identity-site .material-tile--video .media-reading-tools>button{width:32px;min-height:36px;padding:5px}
.identity-site .material-tile--video .media-reading-tools>select{padding:4px;width:54px}
.identity-site .material-group{margin-block:32px}
.identity-site .material-group-title{border-inline-start:0;border-bottom:1px solid #bcd8d724;padding:0 0 12px;font-size:19px;gap:12px}
.identity-site .material-group-title small{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:#ffffff0a;font-size:11px}
/* Audio: a playlist row, with the transport and timeline always available. */
.identity-site .occasion-library .material-group--audio .attachment-grid{grid-template-columns:minmax(0,1fr);gap:0}
html .identity-site .material-tile--audio{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(0,1.4fr);align-items:center;background:transparent!important;border:0!important;border-bottom:1px solid #bcd8d724!important;border-radius:0!important;box-shadow:none;padding:18px 0!important}
.identity-site .material-tile--audio .material-heading{border:0;padding:0 12px 0 0}
.identity-site .material-tile--audio .material-symbol{border-radius:50%;background:#c9ab6515;color:#e2c582;width:42px;height:42px}
html .identity-site .material-tile--audio .material-content{padding:0 12px}
.identity-site .material-tile--audio .institutional-audio{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.identity-site .material-tile--audio .audio-controls{grid-column:1;grid-row:1;margin:0;gap:4px}
.identity-site .material-tile--audio .audio-timeline{grid-column:2;grid-row:1;min-width:0}
.identity-site .material-tile--audio .audio-controls .audio-play{width:44px;height:44px;min-width:44px}
.identity-site .material-tile--audio .audio-controls button{width:32px;min-width:32px;height:36px;min-height:36px;border:0;background:transparent}
.identity-site .material-tile--audio .audio-controls svg{width:20px;height:20px}
.identity-site .material-tile--audio .audio-status{grid-column:1/-1}
.identity-site .material-tile--audio .media-reading-tools{border:0;padding:0;margin-top:4px;justify-content:flex-end}
/* Books: a recognisable shelf; the typographic cover is not a fabricated image. */
.identity-site .occasion-library :is(.material-group--file,.material-group--pdf) .attachment-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr));gap:24px}
html .identity-site :is(.material-tile--file,.material-tile--pdf){background:transparent!important;border:0!important;box-shadow:none;overflow:visible}
.identity-site .library-book-cover{position:relative;max-width:220px;aspect-ratio:3/4;margin:8px auto 16px;padding:22px 24px 20px 30px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;background:linear-gradient(100deg,#234b4c,#123238 12%,#153b42);border:1px solid #c5ab6655;border-radius:3px 10px 10px 3px;box-shadow:-5px 4px 0 #cbd2bf,-8px 6px 0 #17383c,0 14px 22px #0004;color:#e8d9ab}
.identity-site .library-book-cover:before{content:'';position:absolute;inset:10px;border:1px solid #c5ab6633;pointer-events:none}
.identity-site .library-book-cover>span{font-size:10px;opacity:.8}.identity-site .library-book-cover>svg{width:38px;height:38px}
.identity-site .library-book-cover>strong{font-size:20px;line-height:1.8;overflow-wrap:anywhere}.identity-site .library-book-cover>small{font-size:10px;letter-spacing:2px}
.identity-site :is(.material-tile--file,.material-tile--pdf) .material-heading{display:none}
html .identity-site :is(.material-tile--file,.material-tile--pdf) .material-content{padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.identity-site .lesson-pdf-panel{margin:20px 0;padding:20px;border:1px solid #bcd8d730;border-radius:14px;background:#10353d}
.identity-site .lesson-pdf-panel>header{margin-bottom:16px}
.identity-site .lesson-pdf-panel>header>span{color:#d7b66d;font-size:13px;font-weight:700}
.identity-site .lesson-pdf-panel h4{margin:8px 0 0;font-size:18px;line-height:1.8;overflow-wrap:anywhere}
/* Equal preview frames preserve complete artwork; original dimensions stay in the viewer. */
.identity-site .occasion-library .material-group--image .attachment-grid{display:grid;columns:auto;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:24px;align-items:start}
html .identity-site .material-tile--image{display:flex;width:100%;margin:0;min-width:0;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none}
html .identity-site .material-tile--image .material-content{padding:0}
html .identity-site .material-tile--image .material-content>img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:var(--card-aspect,3/4);object-fit:contain;box-sizing:border-box;padding:8px;border:1px solid #bcd8d718;border-radius:12px;background:#0b252c}
.identity-site .material-tile--image .material-heading{padding:0 0 12px}.identity-site .material-tile--image .material-heading small{display:none}
.identity-site .material-tile--image .material-heading h4{font-size:15px;color:#e5f3ef;font-weight:700;line-height:1.8;margin:0;padding:8px 10px;display:block;overflow:visible;white-space:normal;overflow-wrap:anywhere;-webkit-line-clamp:unset;min-height:0}
.identity-site .material-tile--image .card-preview-actions{margin-top:8px;padding:0}
/* Video retains landscape proportions and a heading above the screen. */
html .identity-site .material-tile--video{display:flex;flex-direction:column;background:transparent!important;border:0!important;box-shadow:none;border-radius:0!important}
.identity-site .material-tile--video .material-heading{order:0;border:0;padding:0 0 12px}.identity-site .material-tile--video .material-symbol{display:none}
html .identity-site .material-tile--video .material-content{padding:0;order:1}
.identity-site .material-tile--video .media-reading-tools{border:0;margin-top:6px;padding:0}
.identity-site .material-tile--video .material-heading small{color:#c9ab65}
.identity-site .material-tile--video video{border:1px solid #ffffff18;border-radius:12px}
.identity-site .material-tile--video .video-embed{border-radius:12px;overflow:hidden}
@media(max-width:700px){html .identity-site .material-tile--audio{grid-template-columns:minmax(0,1fr);gap:14px}.identity-site .material-tile--audio .material-heading{padding:0}.identity-site .material-tile--audio .material-content{padding:0!important}.identity-site .material-tile--audio .institutional-audio{grid-template-columns:minmax(0,1fr)}.identity-site .material-tile--audio .audio-timeline{grid-column:1;grid-row:1}.identity-site .material-tile--audio .audio-controls{grid-column:1;grid-row:2;justify-content:flex-start}.identity-site .material-tile--audio .audio-controls button{min-width:44px;min-height:44px}.identity-site .material-tile--audio .media-reading-tools{margin-top:8px}.identity-site .occasion-library .material-group--image .attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.identity-site .library-book-cover{max-width:190px}}
@media(max-width:480px){.identity-site .occasion-library .material-group--image .attachment-grid{grid-template-columns:minmax(0,1fr)}}
