/* A luminous meeting of science, Moroccan craft and student life. */
.home-page .hero{width:min(1328px,calc(100% - 36px));margin:18px auto 0;padding:54px 44px 45px;min-height:685px;display:grid;grid-template-columns:1.02fr .98fr;gap:38px;align-items:center;border:1px solid #c5a05066;border-radius:28px;background-color:#10243f;background-image:radial-gradient(ellipse at 12% 0,#315a6570,transparent 54%),radial-gradient(ellipse at 92% 65%,#496e9c47,transparent 58%);color:#f3f6fb;position:relative;isolation:isolate;overflow:hidden;box-shadow:0 18px 55px #14294c12}
.home-page .hero:before{content:'';position:absolute;inset:0;background:url('/assets/zellige.svg') 0 0/156px;opacity:.075;mask-image:linear-gradient(140deg,#000,transparent 62%);z-index:-1;pointer-events:none}
.home-page .hero:after{content:'';position:absolute;inset:0;width:auto;height:auto;background:url('/assets/science-network.svg') right center/65% no-repeat;opacity:.22;z-index:-1;pointer-events:none}
.home-page .hero-copy{padding:10px 0 20px;min-width:0;max-width:555px;z-index:2}
.home-page .hero-copy>.eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid #d6bd7e4f;background:#ffffff05;border-radius:30px;padding:7px 11px;color:#ead29c;font-size:8px;letter-spacing:.12em;line-height:1.7;margin-bottom:28px;max-width:100%}
.home-page .hero .eyebrow>span{font-size:15px;color:#ead29c}
.home-page .hero-copy h1{font-size:clamp(48px,4.8vw,67px);font-weight:500;line-height:1.08;letter-spacing:-.055em;color:#f4f7fc;margin:0 0 28px}
.home-page .hero-copy h1 em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;font-size:1.22em;line-height:1;color:#e7cb8b;display:inline-block;text-shadow:0 0 35px #e7cb8b12}
.home-page .hero-copy h1 em:after{height:1px;bottom:-5px;left:2px;right:-8px;background:linear-gradient(90deg,#e7cb8b,transparent);transform:rotate(-3deg)}
.home-page .hero-copy>p:not(.eyebrow){font-size:15px;line-height:1.95;max-width:475px;color:#beccdd;margin-bottom:27px}
.home-page .hero .button-row{display:flex;align-items:stretch;flex-wrap:wrap;gap:11px}
.home-page .hero .button-row .button{font-size:11px;line-height:1.5;min-height:51px;padding:13px 17px;gap:12px;border-radius:7px;white-space:nowrap;background:#e4c98f;border:1px solid #e4c98f;color:#142a48;box-shadow:0 5px 20px #e4c98f10}
.home-page .hero .button-row .button>span{font-size:20px;color:#142a48}
.home-page .hero .button-row .button.secondary{background:#ffffff04;border-color:#d6e0ec45;color:#eef3f9;box-shadow:none}
.home-page .hero .button-row .button.secondary>span{color:#d8c08c}
.home-page .hero .button-row .button:hover{background:#f0dba9;border-color:#f0dba9}
.home-page .hero .button-row .button.secondary:hover{background:#ffffff0e;border-color:#c5a05099}
.home-page .hero .button-row .button:focus-visible{outline:2px solid #f0dba9;outline-offset:4px}
.home-page .hero-note{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#bbcbdc;font-size:10px;line-height:1.8;margin-top:25px;max-width:100%}
.home-page .hero-note .gold-dot{width:5px;height:5px;flex:0 0 5px;background:#e4c98f;box-shadow:0 0 10px #e4c98f70}
.home-page .hero-location{border-color:#d6e0ec33;color:#e4c98f;padding-inline-start:12px;margin-inline-start:4px;font-size:10px}
.home-page .hero-visual{position:relative;isolation:isolate;align-self:center;min-width:0;width:100%;min-height:550px;margin:0;padding:15px 9px 60px}
.home-page .hero-visual:before{inset:4px 0 72px;border:1px solid #d4ba7d80;border-radius:46% 46% 17px 17px / 34% 34% 17px 17px;transform:rotate(3deg);z-index:-1;background:linear-gradient(140deg,#e4c98f08,transparent);pointer-events:none}
.home-page .hero-photo{display:block;position:relative;width:100%;height:465px;min-height:0;max-height:none;border:1px solid #d5c3975c;border-radius:45% 45% 14px 14px / 33% 33% 14px 14px;object-fit:cover;object-position:53% 50%;filter:saturate(.9) brightness(.92);box-shadow:0 20px 50px #06132440}
.home-page .hero-orbits{position:absolute;inset:0 -5px 25px;z-index:1;pointer-events:none}
.home-page .hero-orbits:before{content:'';position:absolute;top:45%;left:50%;width:calc(100% + 14px);aspect-ratio:1;transform:translate(-50%,-50%) rotate(-17deg);border:1px solid #e4c98f2b;border-radius:50%;box-shadow:0 0 0 24px #c5a05004}
.home-page .hero-orbits:after{content:'';position:absolute;top:45%;left:50%;width:calc(100% + 45px);aspect-ratio:1;transform:translate(-50%,-50%);border:1px dashed #c5dcea20;border-radius:50%}
.home-page .orbit-node{position:absolute;width:45px;height:45px;display:grid;place-items:center;border-radius:50%;border:1px solid #c5a05070;background:#1e394eea;backdrop-filter:blur(8px);color:#e4c98f;box-shadow:0 0 25px #e4c98f10}
.home-page .orbit-node .ui-icon{width:23px;height:23px}
.home-page .orbit-node-one{top:70px;inset-inline-start:-6px;transform:rotate(-10deg)}
.home-page .orbit-node-two{top:12px;inset-inline-end:92px;color:#b4dece;border-color:#97c9bd80}
.home-page .orbit-node-three{bottom:69px;inset-inline-end:11px;width:37px;height:37px;color:#bad4f3;border-color:#bad4f370}
.home-page .orbit-node-three .ui-icon{width:20px;height:20px}
.home-page .hero-inset{position:absolute;left:auto;right:auto;inset-inline-start:-16px;bottom:5px;width:200px;padding:6px;background:#faf8f1;border:1px solid #d9c99d;border-radius:9px;box-shadow:0 18px 35px #040e1a40;transform:rotate(-6deg);z-index:4}
.home-page .hero-inset img{height:136px;width:100%;border-radius:4px;object-fit:cover}
.home-page .hero-inset>span{font-size:9px;line-height:1.5;padding:10px 5px 5px;color:#213755}
.home-page .hero-inset b{color:#9a7936;font-size:16px}
.home-page .hero-seal{top:30px;left:auto;right:auto;inset-inline-end:-3px;width:82px;height:82px;font-size:6px;letter-spacing:.1em;line-height:1.7;transform:rotate(10deg);background:none;border:0;outline:0;color:#213755;z-index:5}
.home-page .hero-seal:before{inset:-9px;background:url('/assets/moroccan-seal.svg') center/contain no-repeat;filter:drop-shadow(0 4px 14px #06132430)}
.home-page .hero-seal b{font-size:23px;color:#a7863c;line-height:1.3}
.home-page .hero-caption{position:absolute;left:auto;right:auto;inset-inline-end:0;bottom:24px;max-width:276px;display:flex;gap:11px;padding:19px 20px;border-radius:10px;border:1px solid #b6cbd43b;background:linear-gradient(130deg,#26475de8,#183248f5);backdrop-filter:blur(12px);box-shadow:0 12px 35px #040e1a30;z-index:3}
.home-page .hero-caption .caption-icon{display:grid;place-items:center;flex:0 0 30px;align-self:start;color:#e4c98f}
.home-page .hero-caption .caption-icon .ui-icon{width:27px;height:27px}
.home-page .hero-caption b{font-size:12px;line-height:1.7;font-weight:500;color:#f1f5fb;letter-spacing:-.01em}
.home-page .hero-caption small{font-size:9px;line-height:1.7;color:#bed2df;margin-top:5px}
.home-page .intro-strip{margin-top:20px}
html[lang=ar] .home-page .hero{gap:38px}
html[lang=ar] .home-page .hero:after{inset:0;background-position:left center}
html[lang=ar] .home-page .hero-copy>.eyebrow{font-size:11px;letter-spacing:0;line-height:1.8;margin-bottom:22px}
html[lang=ar] .home-page .hero-copy h1{font-family:Cairo,Tahoma,Arial,sans-serif;font-size:51px;line-height:1.48;letter-spacing:0}
html[lang=ar] .home-page .hero-copy h1 em{font-family:Cairo,Tahoma,Arial,sans-serif;font-size:1.08em;line-height:1.48;font-weight:700;letter-spacing:0;font-style:normal}
html[lang=ar] .home-page .hero-copy>p:not(.eyebrow){font-size:16px;line-height:2}
html[lang=ar] .home-page .hero .button-row .button{font-size:12px;line-height:1.8}
html[lang=ar] .home-page .hero-note{font-size:10px;letter-spacing:0}
html[lang=ar] .home-page .hero-location{font-size:10px;border-left:0;border-inline-start:1px solid #d6e0ec33;padding-left:0;margin-left:0;padding-inline-start:12px;margin-inline-start:4px}
html[lang=ar] .home-page .hero-visual:before{inset:4px 0 72px;border-radius:46% 46% 17px 17px / 34% 34% 17px 17px;transform:rotate(-3deg)}
html[lang=ar] .home-page .hero-photo{border-radius:45% 45% 14px 14px / 33% 33% 14px 14px;object-position:53% 50%}
html[lang=ar] .home-page .hero-inset{left:auto;right:auto;inset-inline-start:-16px;transform:rotate(6deg)}
html[lang=ar] .home-page .hero-inset>span{font-size:10px}
html[lang=ar] .home-page .hero-seal{left:auto;right:auto;inset-inline-end:-3px;font-size:9px;letter-spacing:0;transform:rotate(-10deg)}
html[lang=ar] .home-page .hero-caption{left:auto;right:auto;inset-inline-end:0}
html[lang=ar] .home-page .hero-caption b{font-size:13px;line-height:1.8;letter-spacing:0}
html[lang=ar] .home-page .hero-caption small{font-size:10px}
@keyframes hero-breathe{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media(prefers-reduced-motion:no-preference) and (hover:hover){.home-page .orbit-node{animation:hero-breathe 7s ease-in-out infinite}.home-page .orbit-node-two{animation-delay:-2s}.home-page .orbit-node-three{animation-delay:-4s}.home-page .hero-inset{animation:hero-breathe 9s ease-in-out infinite;animation-delay:-3s}}
@media(prefers-reduced-motion:reduce){.home-page .hero .button{transition:none;transform:none!important}}
@media(max-width:1100px){.home-page .hero{width:calc(100% - 32px);padding:45px 30px 42px;gap:27px;min-height:650px}.home-page .hero-copy h1{font-size:53px}.home-page .hero-copy>p:not(.eyebrow){font-size:14px}.home-page .hero-visual{min-height:520px;padding:15px 6px 55px}.home-page .hero-photo{height:430px}.home-page .hero-inset{width:172px;inset-inline-start:-7px;bottom:8px}.home-page .hero-inset img{height:117px}.home-page .hero-caption{max-width:240px;padding:16px;bottom:28px}.home-page .hero-caption b{font-size:11px}.home-page .hero-caption .caption-icon{display:none}.home-page .hero-seal{width:72px;height:72px;font-size:6px;inset-inline-end:0}.home-page .hero-seal b{font-size:19px}.home-page .orbit-node-one{inset-inline-start:-9px;top:60px}.home-page .orbit-node-two{inset-inline-end:80px}.home-page .orbit-node{width:38px;height:38px}.home-page .orbit-node .ui-icon{width:21px;height:21px}html[lang=ar] .home-page .hero{gap:27px}html[lang=ar] .home-page .hero-copy h1{font-size:44px}html[lang=ar] .home-page .hero-inset{inset-inline-start:-7px}html[lang=ar] .home-page .hero-seal{inset-inline-end:0;font-size:8px}}
@media(max-width:800px){.home-page .hero{width:calc(100% - 28px);margin-top:14px;padding:37px 30px 35px;grid-template-columns:1fr;gap:24px;min-height:0;border-radius:24px}.home-page .hero-copy{padding:0;max-width:600px}.home-page .hero-copy h1{font-size:58px;line-height:1.1;max-width:570px;margin-bottom:25px}.home-page .hero-copy h1 br:nth-of-type(2){display:block}.home-page .hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.95;max-width:570px}.home-page .hero .button-row .button{font-size:12px;min-height:51px;padding:13px 19px}.home-page .hero-note{margin-top:23px;font-size:10px}.home-page .hero-visual{width:min(500px,calc(100% - 14px));min-height:505px;margin:16px auto 0;padding:10px 8px 60px;align-self:center}.home-page .hero-photo{height:420px}.home-page .hero-visual:before{inset:0 0 72px}.home-page .hero-inset{width:188px;inset-inline-start:-6px;bottom:13px}.home-page .hero-inset img{height:130px}.home-page .hero-caption{max-width:260px;inset-inline-end:-2px;bottom:18px;padding:17px 18px}.home-page .hero-caption b{font-size:12px}.home-page .hero-caption small{font-size:9px}.home-page .hero-seal{top:24px;inset-inline-end:2px;width:77px;height:77px}.home-page .hero:after{background-size:90%;background-position:center bottom;opacity:.17}.home-page .hero-orbits{inset:0 -2px 25px}.home-page .orbit-node-one{top:58px;inset-inline-start:-7px}.home-page .orbit-node-two{top:6px;inset-inline-end:92px}.home-page .orbit-node-three{bottom:80px;inset-inline-end:2px}html[lang=ar] .home-page .hero{gap:24px}html[lang=ar] .home-page .hero-copy h1{font-size:49px;line-height:1.5}html[lang=ar] .home-page .hero-copy>p:not(.eyebrow){font-size:16px}html[lang=ar] .home-page .hero .button-row .button{font-size:13px}html[lang=ar] .home-page .hero-visual:before{inset:0 0 72px}html[lang=ar] .home-page .hero-inset{inset-inline-start:-6px}html[lang=ar] .home-page .hero-seal{inset-inline-end:2px}html[lang=ar] .home-page .hero-caption{inset-inline-end:-2px}}
@media(max-width:480px){.home-page .hero{width:calc(100% - 20px);margin-top:10px;padding:31px 21px 28px;border-radius:20px;gap:20px}.home-page .hero-copy>.eyebrow{padding:6px 9px;gap:7px;font-size:7px;letter-spacing:.09em;margin-bottom:24px}.home-page .hero .eyebrow>span{font-size:13px}.home-page .hero-copy h1{font-size:clamp(39px,10.9vw,47px);line-height:1.1;letter-spacing:-.055em;margin-bottom:26px}.home-page .hero-copy h1 em{font-size:1.22em;line-height:1.1}.home-page .hero-copy>p:not(.eyebrow){font-size:14px;line-height:1.95;margin-bottom:23px}.home-page .hero .button-row{display:grid;grid-template-columns:1fr;gap:10px}.home-page .hero .button-row .button{width:100%;font-size:11px;padding:13px 17px;gap:12px;justify-content:space-between;min-height:49px}.home-page .hero-note{font-size:9px;gap:7px;margin-top:22px;line-height:1.8}.home-page .hero-location{font-size:9px;padding-inline-start:9px;margin-inline-start:2px}.home-page .hero-visual{width:calc(100% - 12px);min-height:406px;margin:19px auto 0;padding:8px 4px 60px}.home-page .hero-photo{height:330px;border-radius:44% 44% 12px 12px / 30% 30% 12px 12px;object-position:52% 50%}.home-page .hero-visual:before{inset:0 0 71px;border-radius:46% 46% 14px 14px / 32% 32% 14px 14px}.home-page .hero-orbits{inset:0 -1px 32px}.home-page .hero-orbits:before{width:calc(100% + 12px);box-shadow:0 0 0 12px #c5a05004}.home-page .hero-orbits:after{width:calc(100% + 30px)}.home-page .orbit-node{width:32px;height:32px}.home-page .orbit-node .ui-icon{width:18px;height:18px}.home-page .orbit-node-one{top:48px;inset-inline-start:-7px}.home-page .orbit-node-two{top:-3px;inset-inline-end:66px}.home-page .orbit-node-three{width:29px;height:29px;bottom:76px;inset-inline-end:-3px}.home-page .orbit-node-three .ui-icon{width:17px;height:17px}.home-page .hero-inset{width:143px;inset-inline-start:-2px;bottom:29px;padding:5px;border-radius:7px}.home-page .hero-inset img{height:94px;border-radius:3px}.home-page .hero-inset>span{font-size:7px;padding:8px 3px 3px;gap:5px}.home-page .hero-inset b{font-size:13px}.home-page .hero-seal{top:21px;inset-inline-end:-1px;width:60px;height:60px;font-size:5px;letter-spacing:.08em;line-height:1.5}.home-page .hero-seal:before{inset:-6px}.home-page .hero-seal b{font-size:16px}.home-page .hero-caption{max-width:216px;inset-inline-end:-6px;bottom:1px;padding:13px 14px;border-radius:8px;gap:8px}.home-page .hero-caption b{font-size:10px;line-height:1.65}.home-page .hero-caption small{font-size:7px;line-height:1.6;margin-top:4px}.home-page .intro-strip{margin-top:18px}html[lang=ar] .home-page .hero-copy>.eyebrow{font-size:10px;line-height:1.7;letter-spacing:0;margin-bottom:22px}html[lang=ar] .home-page .hero-copy h1{font-size:38px;line-height:1.55;letter-spacing:0}html[lang=ar] .home-page .hero-copy h1 em{font-size:1.09em;line-height:1.55}html[lang=ar] .home-page .hero-copy>p:not(.eyebrow){font-size:14px;line-height:2.05}html[lang=ar] .home-page .hero .button-row .button{font-size:12px;min-height:50px}html[lang=ar] .home-page .hero-note{font-size:9px}html[lang=ar] .home-page .hero-location{font-size:9px;padding-inline-start:9px;margin-inline-start:2px}html[lang=ar] .home-page .hero-visual:before{inset:0 0 71px;border-radius:46% 46% 14px 14px / 32% 32% 14px 14px}html[lang=ar] .home-page .hero-photo{border-radius:44% 44% 12px 12px / 30% 30% 12px 12px;object-position:52% 50%}html[lang=ar] .home-page .hero-inset{inset-inline-start:-2px}html[lang=ar] .home-page .hero-inset>span{font-size:8px}html[lang=ar] .home-page .hero-seal{inset-inline-end:-1px;font-size:7px;letter-spacing:0}html[lang=ar] .home-page .hero-caption{inset-inline-end:-6px;padding:13px 14px}html[lang=ar] .home-page .hero-caption b{font-size:10px;line-height:1.8}html[lang=ar] .home-page .hero-caption small{font-size:8px}}

/* Natural Arabic wrapping keeps the headline compact and connected. */
html[lang=ar] .home-page .hero-copy h1{font-weight:600;line-height:1.3;text-wrap:balance;word-spacing:normal}
html[lang=ar] .home-page .hero-copy h1 em{display:inline;font-size:1em;line-height:inherit}
@media(max-width:800px){html[lang=ar] .home-page .hero-copy h1{font-size:48px;line-height:1.32}}
@media(max-width:480px){html[lang=ar] .home-page .hero-copy h1{font-size:clamp(34px,9.6vw,40px);line-height:1.35;margin-bottom:23px}html[lang=ar] .home-page .hero-copy>.eyebrow{margin-bottom:18px}}
