/* AE13 Project Hub — Swiss International / luminous digital gallery */
:root{color-scheme:light;--ink:#172443;--muted:#64718e;--line:#dfe6f5;--paper:#f7faff;--white:#fff;--accent:#3659d9;--accent2:#10a6ad;--lav:#7a58cb;--shadow:0 14px 44px rgba(34,64,133,.08);--shadow-hover:0 28px 65px rgba(34,64,133,.17);--radius:24px;--ease:cubic-bezier(.2,.8,.2,1);font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;min-height:100vh;color:var(--ink);background:var(--paper);font:500 16px/1.8 'IBM Plex Sans Arabic','DM Sans',sans-serif;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 83% 3%,#dce8ff 0,transparent 39%),radial-gradient(ellipse at 8% 35%,#e9f9fb 0,transparent 32%),linear-gradient(180deg,#fbfdff,#f5f8ff);pointer-events:none}::selection{background:#d3e0ff;color:#123b8c}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #6f8df3;outline-offset:4px}img,svg{max-width:100%}[hidden]{display:none!important}.wrap{width:min(1240px,calc(100% - 52px));margin-inline:auto}.skip-link{position:absolute;z-index:1000;top:-120px;inset-inline-start:20px;background:var(--ink);color:white;padding:10px 20px;border-radius:10px}.skip-link:focus{top:15px}.reading-progress{position:fixed;inset-block-start:0;inset-inline-start:0;height:4px;width:0;background:linear-gradient(90deg,#3255d5,#16b3aa);z-index:50;transition:width .08s linear}.ambient{position:absolute;pointer-events:none;border-radius:999px;filter:blur(45px);opacity:.5;z-index:-1}.ambient-a{width:260px;height:260px;background:#dae8ff;top:140px;inset-inline-start:-140px}.ambient-b{width:260px;height:260px;background:#d4f6f0;top:700px;inset-inline-end:-145px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:26px;border-bottom:1px solid #e4eafa}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-logo{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,#345bdd,#7a7dec);color:#fff;font:800 22px 'DM Sans',sans-serif;letter-spacing:-1px;box-shadow:0 8px 20px #3d68d52d}.brand-logo span{font-size:13px;align-self:end;margin-bottom:13px}.brand-sub{font:800 12px 'DM Sans';letter-spacing:2.5px;color:#455579}.topbar nav{display:flex;gap:7px;align-items:center;background:#ffffffa8;border:1px solid #e4eafb;border-radius:999px;padding:6px;box-shadow:0 5px 18px #304a6e08}.nav-link{border-radius:100px;padding:8px 19px;color:#62708f;font-size:13px;transition:.2s}.nav-link:hover,.nav-link.active{background:#eaf0ff;color:#3154c5}.lang,.secondary-cta,.icon-btn{border:1px solid var(--line);background:#fff;border-radius:14px;color:#34486c;box-shadow:0 3px 14px #3659d90b}.lang{padding:9px 18px;font:700 13px 'DM Sans'}.lang span{color:var(--accent)}.hero{min-height:525px;padding-block:98px 82px;position:relative;isolation:isolate}.eyebrow,.section-kicker{font:800 12px 'DM Sans',sans-serif;letter-spacing:2px;color:#4a68c4}.eyebrow{display:flex;align-items:center;gap:13px}.live-dot,.status-light{display:inline-block;width:9px;height:9px;border-radius:50%;background:#19b89b;box-shadow:0 0 0 5px #15bc9f18}.eyebrow-line{height:1px;width:46px;background:#bcc9e8}h1,h2,h3,p{margin-top:0}.hero h1{font-size:clamp(50px,6.7vw,93px);font-weight:700;line-height:1.2;letter-spacing:-2.6px;margin:30px 0 20px;max-width:810px}.hero h1 em{font-style:normal;background:linear-gradient(100deg,#365adc,#6a6fe8,#06a9b5);-webkit-background-clip:text;background-clip:text;color:transparent}.lead{max-width:680px;font-size:clamp(16px,1.5vw,20px);line-height:2;color:#687694}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:30px 0}.primary-cta,.secondary-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:10px 22px;font-size:14px;font-weight:700;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}.primary-cta{background:var(--accent);color:white;border-radius:14px;box-shadow:0 12px 28px #315bd52f}.primary-cta:hover,.secondary-cta:hover{transform:translateY(-3px);box-shadow:0 14px 30px #315bd525}.hero-meta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;color:#687a9b;font-size:13px}.count{display:flex;align-items:baseline;gap:9px}.count strong{font:800 26px 'DM Sans';color:#2449bc}.meta-rule{height:20px;width:1px;background:#ccd5e9}.status{display:flex;align-items:center;gap:10px}.hero-decor{position:absolute;inset-inline-end:3%;top:88px;width:290px;height:290px;z-index:-1;display:grid;place-items:center}.orbit{position:absolute;border:1px dashed #a5b8e6;border-radius:50%;animation:spin 50s linear infinite}.orbit-a{width:280px;height:280px}.orbit-b{width:215px;height:215px;border-style:solid;border-color:#c6d6f2;animation-direction:reverse}.hero-tile{height:150px;width:150px;background:linear-gradient(135deg,#fff,#e5efff);border:1px solid white;box-shadow:0 25px 85px #4578d538;border-radius:42px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;color:#365bd3;font:800 56px 'DM Sans';transform:rotate(-9deg)}.hero-tile span{font-size:28px;align-self:center}.hero-tile small{width:100%;font:700 6px 'DM Sans';letter-spacing:1.3px;text-align:center;margin-top:-38px;color:#7890c2}@keyframes spin{to{transform:rotate(360deg)}}.projects{padding-bottom:82px}.section-top{display:flex;justify-content:space-between;align-items:end;flex-wrap:wrap;gap:25px;margin-bottom:22px}.section-top h2{font-size:clamp(28px,3vw,42px);line-height:1.45;letter-spacing:-.8px;margin:8px 0 0}.search-wrap{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);box-shadow:0 6px 26px #355bdd0a;border-radius:17px;padding:0 17px;min-width:min(340px,100%);height:56px;color:#8592b0;transition:.2s}.search-wrap:focus-within{border-color:#9baeee;box-shadow:0 0 0 4px #708cf316}.search-wrap input{outline:0;border:0;background:transparent;width:100%;color:var(--ink);font-size:14px}.search-wrap input:focus-visible{outline:none}.toolbar{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:23px}.toolbar-chips,.toolbar-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line);background:#fff;color:#71809b;padding:9px 15px;border-radius:999px;font-size:12px;font-weight:700;transition:.25s}.chip:hover,.chip.is-active{background:#e7eeff;border-color:#afc3ff;color:#345bd1}.results-counter{color:#8b98b1;font:700 12px 'DM Sans';margin-inline:8px}#sort{border:1px solid var(--line);background:white;border-radius:12px;color:#52627f;padding:9px 12px;font-size:12px}.icon-btn{height:38px;width:40px;font:800 20px 'DM Sans'}.icon-btn.selected{background:#eaf0ff;border-color:#b8c7ee;color:var(--accent)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card{position:relative;display:flex;flex-direction:column;min-height:305px;border:1px solid #e0e7f4;border-radius:var(--radius);padding:24px;background:#ffffffee;box-shadow:var(--shadow);overflow:hidden;isolation:isolate;transition:transform .32s var(--ease),box-shadow .32s var(--ease),border-color .32s;animation:rise .65s var(--ease) both;animation-delay:var(--delay,0ms)}.project-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#4978ee,#38c6bb);transform:scaleX(0);transform-origin:right;transition:transform .3s}.project-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-hover);border-color:#b6c8f3}.project-card:hover::before{transform:scaleX(1)}@keyframes rise{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}.card-header,.card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-header{margin-bottom:26px}.project-symbol{display:grid;place-items:center;min-width:60px;max-width:120px;height:60px;padding:0 11px;border-radius:18px;background:linear-gradient(130deg,#e5edff,#e6fbf8);color:#3659b8;font:800 17px 'DM Sans';letter-spacing:-.5px;box-shadow:inset 0 0 0 1px #d7e4f9}.project-card:nth-child(4n+2) .project-symbol{background:linear-gradient(135deg,#f0e8ff,#e8f2ff);color:#7a54b8}.project-card:nth-child(4n+3) .project-symbol{background:linear-gradient(135deg,#ddf7f0,#e5f7ff);color:#118c96}.card-actions{display:flex;align-items:center;gap:8px}.favorite-btn{height:37px;width:37px;border:1px solid #e4eafa;background:#fbfcff;color:#a6b3ca;border-radius:12px;font:800 24px Arial;z-index:2;position:relative;transition:.2s}.favorite-btn:hover,.favorite-btn.is-favorite{background:#fff7df;color:#d69a13;border-color:#f3df9f}.card-arrow{display:grid;place-items:center;height:37px;width:37px;border-radius:12px;background:#f0f4fd;color:#4c6bca;font:700 21px 'DM Sans';transition:.3s}.project-card:hover .card-arrow{transform:translate(-3px,-3px);background:#3659d9;color:white}.project-path{display:block;direction:ltr;text-align:start;color:#7990bc;font:700 10px 'DM Sans';letter-spacing:1px;overflow-wrap:anywhere}.card-content h3{font-size:clamp(19px,2vw,24px);line-height:1.5;overflow-wrap:anywhere;margin:10px 0 8px}.card-content p{color:#7a879e;font-size:13px;line-height:1.9;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.card-footer{border-top:1px solid #edf1f8;margin-top:auto;padding-top:17px;color:#3b60c3;font-size:12px;font-weight:700}.arrow-line{font:700 13px 'DM Sans'}.card-grid.is-list{grid-template-columns:1fr}.card-grid.is-list .project-card{min-height:0;display:grid;grid-template-columns:minmax(105px,160px) 1fr auto;align-items:center;gap:18px}.card-grid.is-list .card-header,.card-grid.is-list .card-footer{margin:0}.card-grid.is-list .card-footer{border:0;padding:0}.card-grid.is-list .card-content h3{margin:2px 0}.card-grid.is-list .card-content p{margin:0}.empty{text-align:center;border:1px dashed #b9cae5;background:#ffffffb8;border-radius:22px;padding:50px 20px;color:#677a9d}.empty>span{font-size:50px}.empty h3{margin:4px}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-bottom:45px}.feature-strip>div{display:grid;gap:5px;background:#fff;border:1px solid #e4ebf7;border-radius:19px;padding:20px}.feature-icon{font-size:26px;color:#4571d7}.feature-strip strong{font:800 14px 'DM Sans';color:#284b9e}.feature-strip>div>span:last-child{color:#7786a1;font-size:12px}.banner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:38px 44px;border-radius:27px;overflow:hidden;background:linear-gradient(110deg,#e6efff 0%,#e8f9f5 100%);border:1px solid #d1e1f6;margin-bottom:90px}.banner h2{font-size:clamp(25px,3vw,36px);margin:12px 0 8px}.banner p{color:#687d99;font-size:14px;margin:0}.banner-mark{font:800 100px 'DM Sans';line-height:1;color:#7c9ae154}.footer{border-top:1px solid #dee6f4;padding-block:33px 45px;display:flex;justify-content:space-between;align-items:center;gap:16px}.footer strong{font:800 13px 'DM Sans';letter-spacing:1px}.footer strong span{color:#6d8ceb}.footer p{font:500 12px 'DM Sans';color:#93a0b7;margin:8px 0 0}.footer>div:last-child{display:flex;gap:23px;flex-wrap:wrap}.footer a{color:#7889a6;font:700 12px 'DM Sans'}.footer a:hover{color:var(--accent)}.back-top{position:fixed;z-index:20;bottom:24px;inset-inline-end:24px;height:45px;width:45px;border-radius:14px;border:1px solid #c4d2f1;background:#fff;box-shadow:var(--shadow);color:var(--accent);font-size:22px;opacity:0;pointer-events:none;transform:translateY(10px);transition:.2s}.back-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.toast{position:fixed;inset-inline-start:50%;bottom:26px;transform:translate(-50%,20px);padding:12px 22px;color:white;background:#213357;border-radius:13px;box-shadow:0 15px 40px #18295637;opacity:0;pointer-events:none;transition:.25s;z-index:30;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}[dir=rtl] .toast{transform:translate(50%,20px)}[dir=rtl] .toast.show{transform:translate(50%,0)}
@media(max-width:1000px){.hero-decor{opacity:.38;inset-inline-end:0}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding-block:75px}}@media(max-width:700px){.wrap{width:min(100% - 30px,1240px)}.topbar{gap:12px;padding-block:15px;flex-wrap:wrap}.topbar nav{order:3;flex-basis:100%;justify-content:center;overflow:auto}.nav-link{padding:8px 10px;font-size:12px}.brand-logo{height:46px;width:46px;border-radius:14px}.brand-sub{font-size:10px}.hero{min-height:0;padding-block:65px 55px}.hero-decor{width:170px;height:170px;top:35px;opacity:.25}.orbit-a{width:170px;height:170px}.orbit-b{width:130px;height:130px}.hero-tile{width:100px;height:100px;font-size:40px;border-radius:24px}.hero-tile span{font-size:17px}.hero-tile small{font-size:4px;margin-top:-28px}.hero h1{font-size:clamp(42px,10vw,60px);letter-spacing:-1px}.lead{font-size:15px}.section-top{align-items:stretch}.search-wrap{width:100%}.card-grid{grid-template-columns:1fr}.project-card{min-height:270px}.card-grid.is-list .project-card{grid-template-columns:1fr;gap:8px}.card-grid.is-list .card-header{margin-bottom:3px}.card-grid.is-list .card-footer{padding-top:10px}.feature-strip{grid-template-columns:1fr}.banner{padding:25px}.banner-mark{font-size:55px}.footer{align-items:flex-start;flex-direction:column}.footer>div:last-child{gap:13px}.toolbar{align-items:flex-start}.toolbar-actions{width:100%;justify-content:space-between}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(prefers-contrast:more){:root{--muted:#34415b;--line:#8190ae}.project-card{border-color:#8498bb}.card-content p,.lead{color:#34415b}}@media print{.topbar nav,.lang,.search-wrap,.toolbar,.back-top,.hero-actions,.reading-progress,.favorite-btn{display:none!important}body{background:#fff}.project-card{break-inside:avoid;box-shadow:none}.card-grid{grid-template-columns:repeat(2,1fr)}}

.project-card .card-open{position:absolute;inset:0;z-index:1;border-radius:inherit}.project-card .card-open:focus-visible{outline:3px solid #3158ce;outline-offset:-4px}.project-card .favorite-btn{z-index:3}.project-card .card-content,.project-card .card-footer,.project-card .project-symbol,.project-card .card-arrow{pointer-events:none}

/* V3: luminous Swiss exhibition layer — progressive enhancement */
:root{--ink:#132445;--paper:#f9fbff;--accent:#275ddd;--accent2:#0b9eaa;--line:#dde7f5;--shadow:0 15px 50px #173b8310;--shadow-hover:0 30px 75px #173b8327;--radius:25px}
body{background:#fbfcff;letter-spacing:-.012em}
body::before{background:radial-gradient(ellipse at 82% 2%,#dfeaffba,transparent 36%),radial-gradient(ellipse at 0% 40%,#dff8f6a1,transparent 30%),linear-gradient(180deg,#fdfefe,#f7faff 80%)}
.grain{position:fixed;inset:0;pointer-events:none;opacity:.17;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.12' filter='url(%23n)'/%3E%3C/svg%3E")}
.topbar{position:relative;z-index:3}.brand-logo{border-radius:12px;transform:rotate(-5deg);transition:transform .3s}.brand:hover .brand-logo{transform:rotate(0)}.brand-sub{letter-spacing:3px}
.hero{min-height:600px;padding-block:110px 95px}.hero h1{font-size:clamp(55px,8.4vw,110px);line-height:1.13;letter-spacing:-.065em;max-width:860px}.hero h1 em{background-image:linear-gradient(100deg,#2353cf 10%,#6b69d8 58%,#0d9aab)}.lead{max-width:570px}.eyebrow{letter-spacing:1.5px}.hero-decor{inset-inline-end:4%;width:310px;height:310px}.orbit-a{width:310px;height:310px}.orbit-b{width:245px;height:245px}.hero-tile{height:164px;width:164px;border-radius:30px;transform:rotate(-12deg)}
.gallery-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;border-block:1px solid #dde5f2;padding:21px 0;margin:8px 0 22px}.gallery-summary p{margin:4px 0 0;font-size:13px;color:#6e7f9c}.tiny-tag{font:800 10px 'DM Sans',sans-serif;letter-spacing:2.4px;color:#275ddd}.surprise-btn{display:inline-flex;gap:9px;align-items:center;border:1px solid #b9d2fa;background:linear-gradient(120deg,#f4f8ff,#e9f8ff);color:#2453bb;border-radius:999px;padding:10px 17px;font-weight:700;font-size:12px;white-space:nowrap;transition:transform .2s}.surprise-btn:hover{transform:translateY(-3px)}.surprise-btn>span:first-child{font-size:19px}
.project-card{min-height:330px;border-color:#e1e8f2;background:#fffffffa}.project-card::before{height:3px}.project-symbol{height:76px;min-width:76px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;border-radius:16px;padding:12px 15px}.project-symbol>span{font-size:22px}.project-symbol small{font:700 8px 'DM Sans',sans-serif;letter-spacing:1.3px;white-space:nowrap}.project-kicker{display:block;color:#6783bd;font:800 9px 'DM Sans',sans-serif;letter-spacing:1.8px;margin-bottom:8px}.project-card:hover .card-arrow{transform:translate(-3px,-3px)}.card-footer{margin-top:18px}.card-grid{gap:22px}.card-content h3{font-weight:700;letter-spacing:-.4px}
.story-strip{display:grid;grid-template-columns:repeat(3,1fr);margin:25px 0 56px;border-block:1px solid #d8e2f2}.story-strip>div{display:flex;align-items:center;gap:18px;padding:29px 20px;font-size:18px;font-weight:700}.story-strip>div+div{border-inline-start:1px solid #d8e2f2}.story-number{font:800 12px 'DM Sans';color:#6580af}.story-chevron{margin-inline-start:auto;color:#3c70c7;font-size:20px}
.feature-strip>div{padding:25px;border-radius:14px}.banner{border-radius:18px;min-height:250px}.footer{position:relative;z-index:2}
.command-fab{position:fixed;bottom:25px;inset-inline-start:24px;z-index:15;border:1px solid #cbd9f0;border-radius:14px;background:white;box-shadow:0 10px 30px #163b8d2b;color:#3456a1;padding:10px 13px;font:800 13px 'DM Sans'}.command-fab span{border:1px solid #d5dfef;border-radius:5px;padding:1px 6px;margin-inline-start:3px}.command-panel:not([hidden]){position:fixed;inset:0;z-index:100;display:grid;place-items:start center;padding:clamp(45px,13vh,135px) 15px 15px}.command-backdrop{position:absolute;inset:0;background:#132a4c77;backdrop-filter:blur(10px)}.command-dialog{position:relative;background:#fff;border:1px solid #dce5f2;border-radius:20px;box-shadow:0 32px 90px #10294d50;width:min(650px,100%);overflow:hidden}.command-head{display:flex;align-items:center;justify-content:space-between;padding:16px 23px;font-size:15px}.command-x{border:0;background:#f1f5fd;color:#455b7a;border-radius:9px;width:34px;height:34px}.command-dialog input{width:calc(100% - 46px);margin:0 23px 15px;border:1px solid #ccdaed;border-radius:12px;padding:13px 15px;outline:none}.command-dialog input:focus{border-color:#3765d8;box-shadow:0 0 0 3px #3b70db20}.command-results{max-height:50vh;overflow-y:auto;padding:0 12px 14px}.command-results a{display:flex;justify-content:space-between;gap:14px;padding:13px 12px;border-radius:11px;border-bottom:1px solid #eef2f8;font-size:14px}.command-results a:hover,.command-results a.is-active{background:#eaf2ff}.command-results small{direction:ltr;color:#7891ba;font:600 11px 'DM Sans'}.command-results p{padding:10px 13px;color:#64718e;font-size:13px}.command-help{background:#f4f7fc;border-top:1px solid #e8edf7;padding:12px 22px;font-size:11px;color:#687d9b}
.sitemap-view{padding-block:65px}.sitemap-view h1{font-size:clamp(35px,5vw,65px)}.sitemap-view ul{list-style:none;padding:0;display:grid;gap:10px}.sitemap-view li{display:flex;justify-content:space-between;gap:20px;border:1px solid #dde7f6;background:#fff;border-radius:14px;padding:14px 18px}.sitemap-view li a:hover,.back-link:hover{color:var(--accent)}.sitemap-view li small{direction:ltr;color:#7d8fa7;overflow-wrap:anywhere}.back-link{display:inline-block;margin-bottom:30px;color:var(--accent)}
@media(max-width:920px){.hero-decor{opacity:.23}.hero h1{max-width:670px}.story-strip>div{gap:8px;font-size:14px}}
@media(max-width:700px){.hero{min-height:0;padding-block:62px 58px}.hero h1{font-size:clamp(44px,10.7vw,68px)}.gallery-summary{align-items:flex-start;flex-direction:column}.story-strip{grid-template-columns:1fr;margin-bottom:35px}.story-strip>div{padding:17px 10px}.story-strip>div+div{border-inline-start:0;border-top:1px solid #d8e2f2}.command-fab{bottom:18px;inset-inline-start:16px}.sitemap-view li{flex-direction:column;gap:3px}}
@media(prefers-reduced-motion:reduce){.grain{display:none}}
