/* Two independently composited faces avoid flattening 3D glass by ancestor filters. */
#site-content .flip-card{position:relative;--flip-radius:28px;perspective:1400px;isolation:auto;overflow:visible;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;transition:none}
#site-content .flip-card>summary,#site-content .flip-card>.flip-back{border:1px solid #ffffff70;border-radius:var(--flip-radius);background:linear-gradient(140deg,#ffffff30,#ffffff07 48%,#ffffff12),#22282f80;box-shadow:inset 0 1px 1px #ffffffe0,inset 0 -1px 1px #ffffff3d,0 10px 28px #151c252b;-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .7s cubic-bezier(.22,.7,.25,1);transform:rotateY(0deg)}
#site-content .flip-card>summary{position:relative;isolation:isolate;overflow:hidden;width:100%;height:auto}
#site-content .flip-card>.flip-back{position:absolute;inset:0;display:flex;flex-direction:column;min-height:0;margin:0;padding:18px;overflow:hidden;transform:rotateY(180deg);pointer-events:none}
#site-content .flip-card[data-expanded="true"]>summary{transform:rotateY(-180deg);pointer-events:none}
#site-content .flip-card[data-expanded="true"]>.flip-back{transform:rotateY(0deg);pointer-events:auto}
#site-content .flip-header{display:flex;align-items:center;justify-content:space-between;flex:none;gap:12px;padding-bottom:12px;border-bottom:1px solid #ffffff30}
#site-content .flip-title{min-width:0;font-size:16px;line-height:1.3;font-weight:500;overflow-wrap:anywhere}
#site-content .flip-return{display:grid;place-items:center;flex:none;width:44px;height:44px;padding:0;border:1px solid #ffffff60;border-radius:50%;background:#ffffff12;color:#fffaf2;font-size:27px;line-height:1;cursor:pointer;touch-action:manipulation}
#site-content .flip-return:hover{background:#ffffff26}
#site-content .flip-copy{min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ffffff70 transparent;padding:14px 4px 4px 0}
#site-content .flip-copy p{margin:0;padding:0;border:0;white-space:pre-line;font-size:14px;line-height:1.65;color:#fffaf2;overflow-wrap:anywhere;max-width:none}
#site-content .flip-card>summary .fact-toggle::after{transform:rotate(90deg)}
#site-content .flip-card>summary:focus-visible,#site-content .flip-return:focus-visible,#site-content .flip-copy:focus-visible{outline:2px solid #fff;outline-offset:-4px}
#creation .flip-card{--flip-radius:24px}
#creation .flip-card>summary{min-height:220px}
@media(max-width:600px){#site-content .flip-card{--flip-radius:23px}#creation .flip-card{--flip-radius:20px}#site-content .flip-card>.flip-back{padding:14px}#site-content .flip-title{font-size:14px}#site-content .flip-copy p{font-size:13px}#site-content .flip-header{gap:8px}#site-content .flip-return{width:40px;height:40px}#creation .flip-card>summary{min-height:220px}}
@media(prefers-reduced-motion:reduce){#site-content .flip-card>summary,#site-content .flip-card>.flip-back{transition:none;transform:none}#site-content .flip-card[data-expanded="true"]>summary,#site-content .flip-card[data-expanded="false"]>.flip-back{visibility:hidden}#site-content .flip-card[data-expanded="true"]>.flip-back{transform:none}}
@media(prefers-reduced-transparency:reduce){#site-content .flip-card>summary,#site-content .flip-card>.flip-back{background:#243c45;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(forced-colors:active){#site-content .flip-card>summary,#site-content .flip-card>.flip-back{background:Canvas;color:CanvasText;border-color:CanvasText}#site-content .flip-copy p{color:CanvasText}#site-content .flip-return{color:ButtonText;background:ButtonFace;border-color:ButtonText}}

/* Catalog opens a native modal dialog with browser focus trapping and Escape. */
html{scrollbar-gutter:stable}
html.catalog-modal-open{overflow:hidden}
.catalog-modal{position:fixed;inset:0;width:min(960px,calc(100% - 48px));max-width:none;max-height:calc(100svh - 48px);margin:auto;padding:0;border:1px solid #ffffff65;border-radius:30px;color:#fffaf2;background:linear-gradient(140deg,#ffffff30,#ffffff07 48%,#ffffff12),#22282f80;-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%);box-shadow:0 30px 100px #00101880;overflow:auto;overscroll-behavior:contain}
.catalog-modal::backdrop{background:#071c26b8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.catalog-modal[open]{animation:catalog-modal-in .32s cubic-bezier(.22,1,.36,1)}
.catalog-modal-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;background:linear-gradient(130deg,#ffffff14,transparent 70%)}
.catalog-modal-panel.without-photo{grid-template-columns:1fr}
.catalog-modal-photo{display:block;width:100%;height:100%;max-height:680px;min-height:320px;object-fit:contain;padding:28px;background:#ffffff09}
.catalog-modal-body{padding:72px 32px 36px;min-width:0;overflow-wrap:anywhere}
.catalog-modal-body h2{font-weight:500;letter-spacing:-.035em;font-size:clamp(26px,3vw,40px);line-height:1.1;margin:16px 0 24px}
.catalog-modal-intro{font-size:14px;line-height:1.6;color:#d5e5e9;white-space:pre-line}
.catalog-modal-detail{font-size:16px;line-height:1.75;white-space:pre-line;margin-top:28px;padding-top:24px;border-top:1px solid #ffffff30}
.catalog-modal-close{position:sticky;top:16px;right:16px;justify-self:end;grid-column:1/-1;z-index:2;width:44px;height:44px;margin:16px 16px -60px 0;padding:0;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff80;background:#19343bee;color:#fff;font-size:30px;line-height:1;cursor:pointer}
.catalog-modal-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
@keyframes catalog-modal-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:600px){.catalog-modal{width:calc(100% - 24px);max-height:calc(100svh - 24px);border-radius:24px}.catalog-modal-panel{grid-template-columns:minmax(0,1fr)}.catalog-modal-photo{height:260px;min-height:0;padding:20px}.catalog-modal-body{padding:26px 22px 32px}.catalog-modal-panel.without-photo .catalog-modal-body{padding-top:72px}.catalog-modal-body h2{font-size:28px}.catalog-modal-detail{font-size:14px}}
@media(prefers-reduced-motion:reduce){.catalog-modal[open]{animation:none}}
@media(forced-colors:active){.catalog-modal,.catalog-modal-close{background:Canvas;color:CanvasText;border-color:CanvasText}.catalog-modal-intro{color:CanvasText}}

/* Photo cards keep their image in place and reveal text through the same glass. */
#site-content .flip-card>.flip-back{cursor:pointer}
#site-content .photo-reveal-card{perspective:none;isolation:isolate;overflow:hidden}
#site-content .glass-card-photo{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;pointer-events:none}
#site-content .photo-reveal-card>summary,#site-content .photo-reveal-card[data-expanded="true"]>summary{transform:none;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
#site-content .photo-reveal-card>summary>*{transition:opacity .45s ease}
#site-content .photo-reveal-card[data-expanded="true"]>summary>*{opacity:0}
#site-content .photo-reveal-card>.flip-back,#site-content .photo-reveal-card[data-expanded="true"]>.flip-back{transform:none;opacity:0;transition:opacity .45s ease}
#site-content .photo-reveal-card[data-expanded="true"]>.flip-back{opacity:1}
#site-content .photo-reveal-card>.flip-back>.flip-header,#site-content .photo-reveal-card>.flip-back>.flip-copy{transform:translateY(18px);transition:transform .5s cubic-bezier(.22,1,.36,1)}
#site-content .photo-reveal-card[data-expanded="true"]>.flip-back>.flip-header,#site-content .photo-reveal-card[data-expanded="true"]>.flip-back>.flip-copy{transform:none}
@media(prefers-reduced-motion:reduce){#site-content .photo-reveal-card>summary>*,#site-content .photo-reveal-card>.flip-back,#site-content .photo-reveal-card>.flip-back>*{transition:none!important;transform:none!important}}
